急!美萍里的JTabel是怎么做的

wuwenbo725 2007-10-17 10:22:11
请教一下美萍里的JTabel是怎么做出来的.
一点查询按钮,就弹出来的那个框.请不吝赐教!

发了5,6篇也没把图片放上来,只好给个链接地址.

附图片地址:http://hi.baidu.com/wuwenbo725/album/item/7bfcb7316bb2b5a35fdf0ed3.html
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
backhead 2007-10-17
  • 打赏
  • 举报
回复
是的swing里有jtable的。。而且相当的好用
SnowwhiteYqw 2007-10-17
  • 打赏
  • 举报
回复
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;

class Console {
public static String title(Object o) {
String t = o.getClass().toString();
if (t.indexOf("class") != -1)
t = t.substring(6);
return t;
}
public static void run(JFrame frame, int width, int height) {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width, height);
frame.setVisible(true);
}
public static void run(JApplet applet, int width, int height) {
JFrame frame = new JFrame(title(applet));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(applet);
frame.setSize(width, height);
applet.init();
applet.start();
frame.setVisible(true);
}
public static void run(JPanel panel, int width, int height) {
JFrame frame = new JFrame(title(panel));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);
frame.setSize(width, height);
frame.setVisible(true);
}
}

public class Hello extends JApplet {
private JTextArea txt = new JTextArea(4, 20);
class DataModel extends AbstractTableModel {
Object[][] data = {
{"one", "two", "three", "four"},
{"five", "six", "seven", "eight"},
{"nine", "ten", "eleven", "twelve"}
};
String[] columnName = {"编号", "姓名", "部门", "职位"};
class TML implements TableModelListener {
public void tableChanged(TableModelEvent e) {
txt.setText("");
for (int i = 0; i < data.length; ++i) {
for (int j = 0; j < data[0].length; ++j)
txt.append(data[i][j] + " ");
txt.append("\n");
}
}
}

public DataModel() {
addTableModelListener(new TML());
}
public String getColumnName(int col) { return columnName[col]; }
public int getColumnCount() { return data[0].length; }
public int getRowCount() { return data.length; }
public Object getValueAt(int row, int col) {
return data[row][col];
}
public void setValueAt(Object val, int row, int col) {
data[row][col] = val;
fireTableDataChanged();
}
public boolean isCellEditable(int row, int col) {
return true;
}
}
public void init() {
Container cp = getContentPane();
JTable table = new JTable(new DataModel());
cp.add(new JScrollPane(table));
cp.add(BorderLayout.SOUTH, txt);
}
public static void main(String[] args) {
Console.run(new Hello(), 350, 200);
}
}

SnowwhiteYqw 2007-10-17
  • 打赏
  • 举报
回复
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;

class Console {
public static String title(Object o) {
String t = o.getClass().toString();
if (t.indexOf("class") != -1)
t = t.substring(6);
return t;
}
public static void run(JFrame frame, int width, int height) {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width, height);
frame.setVisible(true);
}
public static void run(JApplet applet, int width, int height) {
JFrame frame = new JFrame(title(applet));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(applet);
frame.setSize(width, height);
applet.init();
applet.start();
frame.setVisible(true);
}
public static void run(JPanel panel, int width, int height) {
JFrame frame = new JFrame(title(panel));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);
frame.setSize(width, height);
frame.setVisible(true);
}
}

public class Hello extends JApplet {
private JTextArea txt = new JTextArea(4, 20);
class DataModel extends AbstractTableModel {
Object[][] data = {
{"one", "two", "three", "four"},
{"five", "six", "seven", "eight"},
{"nine", "ten", "eleven", "twelve"}
};
String[] columnName = {"编号", "姓名", "部门", "职位"};
class TML implements TableModelListener {
public void tableChanged(TableModelEvent e) {
txt.setText("");
for (int i = 0; i < data.length; ++i) {
for (int j = 0; j < data[0].length; ++j)
txt.append(data[i][j] + " ");
txt.append("\n");
}
}
}

public DataModel() {
addTableModelListener(new TML());
}
public String getColumnName(int col) { return columnName[col]; }
public int getColumnCount() { return data[0].length; }
public int getRowCount() { return data.length; }
public Object getValueAt(int row, int col) {
return data[row][col];
}
public void setValueAt(Object val, int row, int col) {
data[row][col] = val;
fireTableDataChanged();
}
public boolean isCellEditable(int row, int col) {
return true;
}
}
public void init() {
Container cp = getContentPane();
JTable table = new JTable(new DataModel());
cp.add(new JScrollPane(table));
cp.add(BorderLayout.SOUTH, txt);
}
public static void main(String[] args) {
Console.run(new Hello(), 350, 200);
}
}

SnowwhiteYqw 2007-10-17
  • 打赏
  • 举报
回复
JAVA中的SWING部份里应该有JTable这个类吧?
JTable用来控制数据如何显示,而TableModel则控制数据本身。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧