精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Java>>源码收藏>>表格使用例子:

主题:表格使用例子:
发信人: gzbaallee(夜吟应觉月光寒)
整理人: zjxyz(2002-01-26 13:59:26), 站内信件
sun教材中摘取的table例子。
(1):主程序,test.java
import javax.swing.*;
import javax.swing.table.*;
public class test extends JFrame{
public test(){
setSize(300,200);
TablePanel tb=new TablePanel();
setContentPane(tb);
setDefaultCloseOperation(EXIT_ON_CLOSE);
show();
}
public static void main(String[] arguments){
test nt=new test();
}
}

table类例子:TablePanel.java
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;

public class TablePanel extends JPanel {
TablePanel() {
setLayout (new BorderLayout());
// Create data model
EmployeeDataModel employeeModel =
new EmployeeDataModel();
// Create/setup table
JTable table = new JTable (employeeModel);
// Place table in JScrollPane
JScrollPane scrollPane =
new JScrollPane (table);
// Add to Screen
add(scrollPane, BorderLayout.CENTER);
}
}
class EmployeeDataModel extends AbstractTableModel {
// By extending AbstractTableModel, instead of
// implementing TableModel yourself,
// AbstractTableModel takes care of
// TableModelListener list management
String columns[] = {"Employee ID", "First Name",
"Last Name", "Department"};
String rows[][] = {
{"0181", "Bill", "Cat", "Political Candidate"},
{"0915", "Opus", "Penguin", "Lost and Found"},
{"1912", "Milo", "Bloom", "Reporter"},
{"3182", "Steve", "Dallas", "Legal"},
{"4104", "Hodge", "Podge", "Style"},
{"5476", "Billy", "Boinger", "Entertainment"},
{"6289", "Oliver", "Jones", "Science"},
{"7268", "Cutter", "John", "Travel"},
{"8133", "W. A.", "Thornhump", "C.E.O"},
{"9923", "Berke", "Breathed", "Editor"}
};
private int numColumns = columns.length;
private int numRows = rows.length;
public int getColumnCount() {
return numColumns;
}
public int getRowCount() {
return numRows;
}
public Object getValueAt (int row, int column) {
return rows[row][column];
}
public String getColumnName (int columnIndex) {
return columns[columnIndex];
}
public void setValueAt (Object aValue,
int row, int column) {
String cellValue;
if (aValue instanceof String)
cellValue = (String)aValue;
else
cellValue = aValue.toString();
rows[row][column] = cellValue;
fireTableCellUpdated (row, column);
}
public boolean isCellEditable(int row, int column) {
// first column is read-only
return (column != 0);
}
}



----
常将冷眼看螃蟹,看你横行能几时。  
  

[关闭][返回]