|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2004-5-28 01:31
|
显示全部楼层
因为论坛的文本显示效果不好,可能看起来有点乱,大家可以用TEXTPAD或者ECLIPSE来粘贴观看。我们可以看到,这个模板里面有设置行列标题,取行列值和设定行列值的选项,另外还有编辑单个单元格的方法以及相当方便的Object to String 的方法 ,而行列值预定则通过Konstuktur(构造方法)来实现。
下面是我应用JTable的一个很简单的GUI小程序:
[php]
import java.io.*;
import java.util.*;
import java.lang.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
/**
* Fenster-Modell fuer Hitlist
*/
public class Hitlist extends JFrame implements ActionListener{
static TableDataModel table ;
static boolean hide = true;
/**
*Konstruktur : Title einstellen
*/
public Hitlist(String t) {
super(t);
}
/**
*Konstruktur : TableDataModel-Objekt einlesen
*/
public Hitlist(TableDataModel object){
this.table = object;
}
/**
*Fenster einstellen
*/
public void init() {
TableDataModel ergebnis = new TableDataModel(10,3);
ergebnis.setColumnNameAt("Name", 0);
ergebnis.setColumnNameAt("Fehler", 1);
ergebnis.setColumnNameAt("Zeit", 2);
for(int i=0;i<5;i++){
ergebnis.setValueAt("args1", i, 0);
ergebnis.setValueAt("args2", i, 1);
ergebnis.setValueAt("args3",i, 2);
}
JTable table1 = new JTable(ergebnis);
JScrollPane scroPanel = new JScrollPane();
scroPanel.getViewport().add(table1);
Container container = getContentPane();
JButton close = new JButton("Close");
close.addActionListener(this);
container.add(BorderLayout.NORTH,new JLabel("Welcome !"));
container.add(BorderLayout.SOUTH,close);
container.add(BorderLayout.CENTER,scroPanel);
}
/**
* Events
*/
public void actionPerformed(ActionEvent evt){ System.exit(0);}
/**
*Fenster initialisieren und laufen
*/
public static void main(String[] args){
Hitlist sw = new Hitlist("Bestenliste");
sw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
sw.setSize(350,450);
sw.init();
sw.setVisible(true);
}
}
[/php]
大家可以试编译一下,当然TableDataModel也要附在同一目录里面来编译。另外大家也可以用偶前面介绍的JAVADOC来生成注释文档: javadoc *.java; 最后希望大家能够共同探讨,共同进步。 |
|