1
我在Netbeans中使用Swings。我已经创建了名为“view”的按钮,当我单击view按钮时,它应该获取数据库表并在同一页上显示查看按钮下方的表。netbeans中的Swing table view
我的代码:
private void viewActionPerformed(java.awt.event.ActionEvent evt) {
showData(); }
public void showData()
{
Connection con=null;
Statement st=null;
ResultSet rs=null;
String s;
try
{
con=DriverManager.getConnection("jdbc:mysql://localhost/testm","root","root");
st=con.createStatement();
s="select * from smpl";
rs=st.executeQuery(s);
ResultSetMetaData rsmt= rs.getMetaData();
int c=rsmt.getColumnCount();
Vector column=new Vector(c);
for(int i=1;i<=c;i++)
{
column.add(rsmt.getColumnName(i));
}
Vector data= new Vector();
Vector row= new Vector();
while(rs.next())
{
row=new Vector(c);
for(int i=1;i<=c;i++)
{
row.add(rs.getString(i));
}
data.add(row);
}
JFrame smp=new JFrame();
smp.setSize(1000,500);
// smp.setLocation(0, 300);
//smp.setUndecorated(true);
smp.setLocationRelativeTo(null);
smp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel=new JPanel();
// paneldes.setLocation(20, 100);
JTable table= new JTable(data,column);
JScrollPane jsp= new JScrollPane(table);
panel.setLayout(new BorderLayout());
//paneldes.setLocation(100, 200);
panel.add(jsp,BorderLayout.CENTER);
// paneldes.add(jsp);
// jsp.setLocation(100, 200);
this.setContentPane(panel);
this.setVisible(true);
SwingUtilities.getAncestorOfClass(null, jsp);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null,"ERROR");
}finally{
try{
st.close();
rs.close();
con.close();
}catch(Exception e){
JOptionPane.showMessageDialog(null,"ERROR CLOSE");
}}}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new smplvi().setVisible(true);
}
});
}
在此先感谢
这是什么目前做什么? – Shane
它显示表格上方的结果 –
也许你应该从[如何使用表格](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html) – MadProgrammer