添加到Jpanel时,JTable不可见

时间:2015-11-29 10:52:08

标签: java swing jtable jpanel

我在前面板上有JButton。单击它时,它应以表格格式显示数据。我已将数据和列名称分配给JTable参数,但在前端不可见。我确认这些值已正确分配,但不确定为什么表格在面板中不可见。这是我的代码:

private void disPlayDataActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
       sql = "select * from persons";   

    try {
              Statement  st = con.createStatement();
              ResultSet rs = st.executeQuery(sql);
              ResultSetMetaData metaData = rs.getMetaData();
              int columnCount=metaData.getColumnCount();
              String[]columnNames=new String[columnCount];

              for(int i=0;i< columnNames.length;i++){
                columnNames[i]=metaData.getColumnName(i+1);

        }                       
        ArrayList<String[]> rows=new ArrayList<>();
        while(rs.next()){
            String[]currentrow=new String[columnCount];
            for(int i=0;i<columnCount;i++){
                currentrow[i]=rs.getString(i+1);

        }

              rows.add(currentrow);
        }   
        String[][] rowsArray=new String[rows.size()][columnCount];
        rowsArray=rows.toArray(rowsArray);
        JTable jt=new JTable(rowsArray,columnNames);
        jPanel2.add(jt);
        jt.setVisible(true);



    } catch (SQLException ex) {
        Logger.getLogger(EmployeePanel.class.getName()).log(Level.SEVERE, null, ex);
    }

    finally{

    }

}                   

2 个答案:

答案 0 :(得分:1)

你可以试试这个,

 <fragment
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          tools:layout="@layout/first_fragment"
          class="edu.sjsu.cmpe277.termproject.Fragments.FirstFragment"
          android:id="@+id/fragment1"
/>

答案 1 :(得分:0)

Swing的布局API很懒,它就是这样设计的。当你准备好重新验证容器的活动时,你需要告诉它。

var imawindow = window.open("samedomainpage.html");
imawindow .addEventListener('load', functionToCall, false);

在不知道完整代码的情况下,一般来说,只需要一个主JTable jt=new JTable(rowsArray,columnNames); jPanel2.add(jt); jPanel2.revalidate(); jPanel2.repaint(); 并在需要时更改它的模型就容易得多。