javax.swing.table类的例子
上一篇 / 下一篇 2007-12-15 10:25:04 / 个人分类:Java开发技术
import javax.swing.*;ITPUB个人空间"H;CR?{G1`'@/p~1l
import javax.swing.table.*;ITPUB个人空间$rzE,{g nsV-l!l
import javax.swing.event.*;
import java.awt.event.*;ITPUB个人空间9A
C1{4oi+qFV,XcL5Pp
import java.awt.event.*;ITPUB个人空间,A)a(jG+z6e8Sp
import java.awt.*;
public class SimpleTableITPUB个人空间9co,W|
IpEN
implements ListSelectionListener {ITPUB个人空间X0{
S^ieyT$N/gU
JTable aTable;
7|6sH(NZi iFZ0 public SimpleTable() {
\!uH+o/m
z"u0 JFrame. frame. = new JFrame("Table");ITPUB个人空间D.DWo\"T\z,H
frame.addWindowListener(new WindowAdapter() {
:{MC{qlYK0 public void windowClosing(WindowEvent e) {System.exit(0);}});
final String[] names = {"First Name", "Last Name", "Id" };ITPUB个人空间 z_Pd*h!fTcC:g
final Object[][] data = {ITPUB个人空间zw g$D4S9?#m.Kq
{"Mark", "Andrews", new Integer(1)},
`RO_5E0 {"Tom", "Ball", new Integer(2)},
#yKU|p"s(}i0 {"Alan", "Chung", new Integer(3)},ITPUB个人空间4f5L P-w+m:LaR#@ h
};
TableModel dataModel = new AbstractTableModel() {ITPUB个人空间3E'A#k6gj Uc
public int getColumnCount() { return names.length; }
,|pGF4G,`7e1M*_@0Q0 public int getRowCount() { return data.length;}
(IlM?Z$Bv0 public Object getValueAt(int row, int col) {return data[row][col];}
%vDYyNy0 public String getColumnName(int column) {return names[column];}
/h&w\8zbf0 public Class getColumnClass(int col) {return getValueAt(0,col).getClass();}
d8jimnR@%M0 public void setValueAt(Object aValue, int row, int column) {ITPUB个人空间C}%k(`%d$^
data[row][column] = aValue;
4e7Ip0JstMr0 }
f$l*D2Mp{+x;D frU0 };
aTable = new JTable(dataModel);ITPUB个人空间Vme
s[-Q
ITPUB个人空间S9tM&X_Js,aM#U[%w
ListSelectionModel listMod = aTable.getSelectionModel();
KAie;o0 listMod.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);ITPUB个人空间KNZ/P%s,m
listMod.addListSelectionListener(this);ITPUB个人空间6~;TT9GL.\1}
ITPUB个人空间m/kZ"~&x(Pd#x:`
JScrollPane scrollpane = new JScrollPane(aTable);
@{
f7R9Uu0 scrollpane.setPreferredSize(new Dimension(300, 300));ITPUB个人空间N.n4sY
yaG
frame.getContentPane().add(scrollpane);