🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #27324

Tengo algunos problemillas con Swing

#27324
From: p134409403
Date: Sun, 04 Oct 1998 00:00
133 lines
4117 bytes
Hola a todos
En primer lugar quiero agradecer la ayuda a quienes me han respondido
en mensajes anteriores y que me ha sido de gran utilidad.

Voy con el problemilla
Tengo un codigo(al final del mensaje) que me muestra en pantalla una
lista(JList), cada fila tiene 3 campos, el tercero es editable(un
JComboBox),pero en el programatanto el primero como el segundo campo
son editables y no quiero que se puedan modificar . Como lo hago?

Puedo cambiar el color de una fila que ha sido modificada,
seleccionando algun elemento del ComboBox?

Y por ultimo, como se imprimiria la lista completa por impresora?

Estoy utilizando JDK 1.1.6 y Swing 1.0.2 (tuve que desinstalar
JDK1.2Beta3 porque me daba problemas).  A proposito, sabeis cuando se
lanzara la version definitiva del JDK 1.2

El codigo es el siguiente:

import com.sun.java.swing.*;
import java.awt.event.*;
import com.sun.java.swing.table.*;
import com.sun.java.swing.border.*;
import java.awt.Dimension;
import java.awt.*;
import java.util.*;
class pr extends JFrame implements ActionListener{
  JButton b;
  JButton c;
  ModeloTabla a;
  JTable tab;
  JScrollPane scroll;
  public pr(){
    b=new JButton("pulsa");
    c=new JButton("Muestra");
    getContentPane().add("East",b);
    getContentPane().add("West",c);
    b.addActionListener(this);
    c.addActionListener(this);
    setLocation (50,50);
    setSize(500,300);
  }
  public static void main(String args[]){
    pr n=new pr();
    n.setVisible(true);
  }
  public void actionPerformed(ActionEvent e){
    if (e.getSource()==b){

Stringh=newString("1$jose$perro$2$juan$gato$3$miguel$caballo$4$fede

$gato$5$marisa$perro$6$fran$gato$1$jose$perro$2$juan$gato$3$miguel$caballo$

4$fede$gato$5$marisa$perro$6$fran$gato$1$jose$perro$2$juan$gato$3$miguel$caballo
     $4$fede$gato$5$marisa$perro$6$fran$gato");
      a=new ModeloTabla(h);
      tab=new JTable(a);
      JComboBox combo=new JComboBox();
      combo.addItem("caballo");
      combo.addItem("gato");
      combo.addItem("perro");
      TableColumn columnaNotas=tab.getColumn("animal");
      columnaNotas.setCellEditor(new DefaultCellEditor(combo));
      scroll=JTable.createScrollPaneForTable(tab);
      scroll.setBorder(new BevelBorder(BevelBorder.LOWERED));
      scroll.setPreferredSize(new Dimension(400,200));
      getContentPane().add(scroll);
      validate();
    }
    if (e.getSource()==c){
      scroll.setVisible(false);
    }

  }
}


Y la clase TablaModelo:


import com.sun.java.swing.*;
import com.sun.java.swing.table.*;
import java.util.*;
class ModeloTabla extends AbstractTableModel
{
  final String[] names={"numero","nombre","animal"};
  final Object[][] data;
  ModeloTabla(String s)
  {
    StringTokenizer st2=new StringTokenizer(s,"$");
    int i=st2.countTokens();
    int numeroLineas=(i+1)/3;
    data=new String[numeroLineas][3];
    System.out.println(st2.countTokens());
    for(i=0;st2.hasMoreTokens();i++)
    {
      data[i][0]=st2.nextToken();
      data[i][1]=st2.nextToken();
      data[i][2]=st2.nextToken();
    }
  }
  public int getColumnCount()
  {
     return names.length;
  }
  public int getRowCount()
  {
     return data.length;
  }
  public Object getValueAt(int row,int col)
  {
     return data[row][col];
  }
  public String getColumnName(int column)
  {
     return names[column];
  }
    public boolean isCellEditable(int row,int col)
    {
       return true;
    }
    public void setValueAt(Object aValue,int row,int column)
    {
      data[row][column]=aValue;
    }
}
      

Eso es todo (   por ahora, :)    ), gracias  

p134409403@abonados.cplus.es
Technical Details
Message-ID: <361795f9.1130867@noticias.ibernet.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII-7-bit
X-Google-Thread: 1116f3,8f69ef0bcd97b5dd,start
X-Google-Attributes: gid1116f3,public
From: p134409403@abonados.cplus.es
Subject: Tengo algunos problemillas con Swing
Date: 1998/10/04
Message-ID: <361795f9.1130867@noticias.ibernet.es>
X-Deja-AN: 398008372
Organization: Telefonica Transmision de Datos
Newsgroups: es.comp.lenguajes.java