2017-07-18 7 views
-1

私は少しの例を作りました。 私は2つのタブを持つjTabbedPaneを持っています。 TabPanel2のボタンを押すと、テーブルが閉じて表示されます。 しかし、テーブルは表示されません。 私を助けてください。ありがとうございました。JTabbedPane_TabPanelのJTable

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import javax.swing.table.DefaultTableModel; 

public class test extends JFrame { 
    private JButton jButton1 = new JButton(); 
    private JTabbedPane jTabbedPane1 = new JTabbedPane(); 
    private JPanel jTabbedPane1TabPanel1 = new JPanel(null, true); 
    private JPanel jTabbedPane1TabPanel2 = new JPanel(null, true); 
    private JButton jButton2 = new JButton(); 

    public void jButton2_ActionPerformed(ActionEvent evt) { 
    DefaultTableModel tableModel = new DefaultTableModel(0,2); 
    tableModel.addRow(new Object[] {"string1","string2"}); 
    JTable table1 = new JTable(tableModel); 
    jTabbedPane1TabPanel2.add(table1); 
    } 
} 
+1

SOへようこそ。 [ツアー](https://stackoverflow.com/tour)、[How to Ask](https://stackoverflow.com/questions/how-to-ask)を読んで質問を編集して[最小、完全、および検証可能な例](https://stackoverflow.com/help/mcve)具体的なケースでは、より多くのコードを表示する必要があります。 JFrameがインスタンス化されるメインを含む、無関係な行がすべて削除されたクラス全体を与えます。そこにMCVEがたくさんあります。しかし、jTabbedPane_1TabPanel1が*表示されているコンテナには一度も追加されていない可能性があります。 – jeff6times7

答えて

0
`public class test extends JFrame implements ActionListener { 

    private JButton jButton1 = new JButton("button1"); 
    private JTabbedPane jTabbedPane1 = new JTabbedPane(); 
    private JPanel jTabbedPane1TabPanel1 = new JPanel(); 
    private JPanel jTabbedPane1TabPanel2 = new JPanel(); 
    private JButton jButton2 = new JButton("button2"); 

    public test() { 
    jTabbedPane1TabPanel1.add(jButton1); 
    jTabbedPane1TabPanel2.add(jButton2, BorderLayout.PAGE_START); 
    jTabbedPane1.addTab("1", jTabbedPane1TabPanel1); 
    jTabbedPane1.addTab("2", jTabbedPane1TabPanel2); 
    jButton2.addActionListener(this); 
    JFrame frame = new JFrame(); 
    frame.setContentPane(jTabbedPane1); 
    frame.pack(); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true); 
    } 

    public void actionPerformed(ActionEvent evt) { 
    DefaultTableModel tableModel = new DefaultTableModel(0, 2); 
    tableModel.addRow(new Object[] { 
     "string1", "string2" 
    }); 
    JTable table1 = new JTable(tableModel); 
    // System.out.println(table1.getColumnCount()); 
    // System.out.println(table1.getRowCount()); 
    jTabbedPane1TabPanel2.add(table1, BorderLayout.CENTER); 
    } 

    public static void main(String[] args) { 
    new test(); 
    } 

    }` 
+0

これをチェックしてください: –