java.swing 获取表数据_Swing中使用JTable动态获取数据库中的数据并显示

该篇博客主要介绍了如何在Java Swing应用中使用JTable组件动态地从数据库中获取并显示数据。通过创建DefaultTableModel,设置表头和数据,实现了数据的展示,并确保表格中的数据不可编辑。
摘要由CSDN通过智能技术生成

packagecom.zjl.view;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.EventQueue;importjava.awt.Toolkit;importjava.util.List;importjavax.swing.GroupLayout;importjavax.swing.GroupLayout.Alignment;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTable;importjavax.swing.border.EmptyBorder;importjavax.swing.border.LineBorder;importjavax.swing.table.DefaultTableModel;importcom.zjl.dao.UserDao;importcom.zjl.modle.User;public class Main extendsJFrame {privateJPanel contentPane;privateJTable table;private String head[]=null;private Object [][]data=null;private UserDao user=newUserDao();/*** Launch the application.*/

public static voidmain(String[] args) {

EventQueue.invokeLater(newRunnable() {public voidrun() {try{

Main frame= newMain();

frame.setVisible(true);

}catch(Exception e) {

e.printStackTrace();

}

}

});

}/*** Create the frame.*/

publicMain() {

setResizable(false);

setTitle("\u673A\u7968\u9884\u8BA2\u7CFB\u7EDF");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 700, 300);

Dimension us=this.getSize();

Dimension them=Toolkit.getDefaultToolkit().getScreenSize();int x=(them.width-us.width)/2;int y=(them.height-us.height)/2;this.setLocation(x, y);

contentPane= newJPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

JScrollPane scrollPane= newJScrollPane();

scrollPane.setBounds(0,0,700,250);

table= newJTable();

table.setBorder(new LineBorder(new Color(0, 0, 0)));

head=newString[] {"id", "姓名", "密码", "性别", "年龄", "住址", "\u7968\u4EF7",

};

DefaultTableModel tableModel=newDefaultTableModel(queryData(),head){public boolean isCellEditable(int row, intcolumn)

{return false;

}

};

table.setModel(tableModel);

scrollPane.setViewportView(table);

GroupLayout gl_contentPane= newGroupLayout(contentPane);

gl_contentPane.setHorizontalGroup(

gl_contentPane.createParallelGroup(Alignment.LEADING)

.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE,684, Short.MAX_VALUE)

);

gl_contentPane.setVerticalGroup(

gl_contentPane.createParallelGroup(Alignment.LEADING)

.addGroup(gl_contentPane.createSequentialGroup()

.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE,195, GroupLayout.PREFERRED_SIZE)

.addGap(66))

);

contentPane.setLayout(gl_contentPane);

}//生成表格数据

/***@return

*/

publicObject[][] queryData(){

List list=user.queryAllUser();

data=newObject[list.size()][head.length];for(int i=0;i

data[i][0]=list.get(i).getId();

data[i][1]=list.get(i).getName();

data[i][2]=list.get(i).getPassword();

data[i][3]=list.get(i).getSex();

data[i][4]=list.get(i).getAge();

data[i][5]=list.get(i).getAddress();

}

}returndata;

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值