📄 mytable.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.io.*;
import java.sql.*;
import java.util.*;
public class MyTable
{
AbstractTableModel tm; //声明一个类AbstractTableModel对象
JTable table; //声明一个类JTable对象
JScrollPane scrollpane; //声明一个滚动面板对象
String titles[]; //二维表列名
Vector records;
ResultSet rs;
Statement st;
JFrame Tf;
MyTable(){
records = new Vector(); //实例化向量
tm = new AbstractTableModel(){
public int getColumnCount(){
return titles.length; //取得表格列数
}
public int getRowCount(){
return records.size(); //取得表格行数
}
public Object getValueAt(int row,int column){
if(!records.isEmpty()) //取得单元格中的属性值
return ((Vector)records.elementAt(row)).elementAt(column);
else
return null;
}
public String getColumnName(int column){
return titles[column]; //设置表格列名
}
public void setValueAt(Object value,int row,int column){
//数据模型不可编辑,该方法设置为空
}
public Class getColumnClass(int c){
return getValueAt(0,c).getClass(); //取得列所属对象类
}
public boolean isCellEditable(int row,int column){
return false;//设置单元格不可编辑,为缺省实现
}
};
//显示查询结果
try{
rs = st.executeQuery("SELECT * FROM shouru");
ResultSetMetaData meta = rs. getMetaData(); //得到元数据
int cols = meta.getColumnCount();
System.out.println( cols );
titles = new String[ cols ];
for( int i=0; i<cols; i++){
titles[i] = meta.getColumnName(i+1); //得到列名
}
records.removeAllElements();//初始化向量对象
while(rs.next()){
Vector rec_vector=new Vector();
//从结果集中取数据放入向量rec_vector中
for ( int i=0; i<titles.length; i++ ){
rec_vector.addElement(rs.getObject(i+1).toString());
}
records.addElement(rec_vector);
}
}catch(SQLException TSe){
TSe.printStackTrace();
JOptionPane.showMessageDialog(null,"数据库连接失败!");
}
//定制表格:
table=new JTable(tm); //生成自己的数据模型
table.setToolTipText("显示全部查询结果"); //设置帮助提示
table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN); //设置表格调整尺寸模式
table.setCellSelectionEnabled(false); //设置单元格选择方式
table.setGridColor(Color.BLACK);
// table.setSelectionBackground(Color.BLUE);
table.setShowVerticalLines(true);//| line
table.setShowHorizontalLines(true);//- line
Tf=new JFrame("所有商品信息");
Tf.getContentPane().add(table);
Tf.setVisible(true);
Tf.setSize(600,400);
Tf.setLocationRelativeTo(null);//居中弹出
// Tf.setBackground(Color.BLUE);
Tf.show(true);
scrollpane=new JScrollPane(table); //给表格加上滚动条
Tf.getContentPane().add( scrollpane );
tm.fireTableStructureChanged();//更新表格
}
public static void main(String s[])
{
new MyTable();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -