使用向量为JTable [英] Using vector for JTable
本文介绍了使用向量为JTable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
现在我只是使用 JList
,但看起来好多了,如果数据显示在 JTable
。
这是GUI类:
Right now I just use JList
, but it looks much better if the data is shown in a JTable
.
This is the GUI class:
public class Table extends JFrame {
private JPanel contentPane;
DefaultTableModel tableModel = new DefaultTableModel();
private JTable table;
private Controller controller = new Controller();
private static Vector <Vector<String>> data = new Vector <Vector<String>>();
/**
* Launch the application.
*/
public Table() throws SQLException {
Vector <String> columnNames = new Vector <String>();
ResultSet rs2 = controller.getPerson();
while (rs2.next()){
columnNames.add(rs2.getString(1));
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
//add tableModel into table
table = new JTable(tableModel);
contentPane.add(table, BorderLayout.CENTER);
//Create JButton
JButton showBtn = new JButton("Show");
showBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
ResultSet rs = controller.getPerson();
while (rs.next()){
Vector <String> vstring = new Vector <String>();
vstring.add(rs.getString(1));
data.add(vstring);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
contentPane.add(showBtn, BorderLayout.SOUTH);
}}
点击按钮时,数据应显示在 JTable
。我真的不知道如何循环通过数据库中的列和行,然后将此信息添加到 JTable
。
When the button is clicked the data should be shown in the JTable
. I don't really know how to loop through the columns and rows in the database and then add this info to the JTable
.
推荐答案
//全局声明
private Vector<Vector<String>> data; //used for data from database
private Vector<String> header; //used to store data header
//显示信息到JTable
//Display info to JTable
data = get();
//create header for the table
header = new Vector<String>();
header.add("Column1");
header.add("Column2");
...
model=new DefaultTableModel(data,header);
table = new JTable(model);
这将帮助您从数据库获取数据
This will help you to get data from database
get(){
Vector<Vector<String>> doublevector = new Vector<Vector<String>>();
Connection conn = dbConnection();//Your Database connection code
PreparedStatement pre1 = conn.prepareStatement("select * from Table");
ResultSet rs1 = pre1.executeQuery();
while(rs1.next())
{
Vector<String> singlevector = new Vector<String>();
singlevector.add(rs1.getString(1));
singlevector.add(rs1.getString(2));
....
doublevector.add(singlevector);
}
return doublevector;
}
这篇关于使用向量为JTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文