Chinaunix
标题:
一个Swing的Table如何使得它的列自己适应内容的长度呢
[打印本页]
作者:
superspiceshen
时间:
2004-10-15 10:18
标题:
一个Swing的Table如何使得它的列自己适应内容的长度呢
如题
谢谢指教!
作者:
ilcj
时间:
2004-10-15 11:28
标题:
一个Swing的Table如何使得它的列自己适应内容的长度呢
用vector
这是一个例子
import java.sql.*;
import javax.swing.table.*;
import javax.swing.*;
import java.util.*;
public class search extends JFrame {
public search() {
initComponents();
}
private void initComponents() {
javax.swing.JScrollPane resultScrollPane;
resultScrollPane = new javax.swing.JScrollPane();
resultTable = new javax.swing.JTable();
queryButton = new javax.swing.JButton();
setTitle("\u4fe1\u606f\u67e5\u8be2");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
resultTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"姓名", "年", "月", "日"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false, false, false, false
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
resultScrollPane.setViewportView(resultTable);
getContentPane().add(resultScrollPane, java.awt.BorderLayout.CENTER);
queryButton.setText("\u67e5\u8be2");
queryButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
queryResult(evt);
}
});
getContentPane().add(queryButton, java.awt.BorderLayout.SOUTH);
pack();
}
private void queryResult(java.awt.event.ActionEvent evt) {
Vector tem=new Vector(1,1);
DefaultTableModel tModel = (DefaultTableModel)resultTable.getModel();
int rn = tModel.getRowCount();
for(int j = 0; j < rn; j++) {
tModel.removeRow(0);
}
DBManager db = new DBManager();
ResultSet rs = db.getResult("select * from birthday");
try {
if(rs == null) return;
while(rs.next()) {
String[] rowData = {null,null,null,null};
tem=new Vector(1,1);
tem.add(rs.getString("name"));
tem.add(rs.getString("year"));
tem.add(rs.getString("month"));
tem.add(rs.getString("day"));
tModel.addRow(tem);
}
rs.close();
}
catch(Exception re) {
re.printStackTrace();
}
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new search().setVisible(true);
}
// 变量声明 - 不进行修改
private javax.swing.JButton queryButton;
private javax.swing.JTable resultTable;
// 变量声明结束
}
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2