java - netbeans 中的 Swing TableView

标签 java mysql swing netbeans

我在 Netbeans 中使用 Swings。当我单击查看按钮时,我创建了名为“查看”的按钮,它应该获取数据库表并在同一页面上显示查看按钮下方的表。

我的代码:

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);
            }
        });
    }

提前致谢

最佳答案

尝试这样做,而不是使用 vector

     DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
     String data1 = something1.columnOneFromDB;
     String data2 = something2.columnTwoFromDB;
     String data3 = something3.columnThreeFromDB();
     String data4 = something4.columnFourFromDB();

     Object[] row = { data1, data2, data3, data4 };

     model.addRow(row);

关于java - netbeans 中的 Swing TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44238071/

相关文章:

mysql - 一种从一个表中选择字段并将其插入到另一个表中的方法?

java - 将组件粘贴到 JScrollPane 上

java - Android libgdx,针对不同屏幕尺寸的固定变量

php - 将 mysql 行中的数据显示为 php 中的列

java - 替换 Android/Java 中第一次出现的字符?

mysql - 在 MySQL 中连接一个新的标识符

java - 使用 Netbeans 添加自定义外观

java - 互动影像

Java-通过MouseListener获取特定像素的强度值

java - JAXB:使用缩进编码输出 XML 在第一行创建空换行符