Swing JTabbedPane - 插入内容

时间:2016-04-01 22:42:06

标签: java swing jtable jtabbedpane

我想在每个tabbedPane不同内容中插入。在这里我的问题,如何在tabbedPane中插入名为" Tabela 1&#34 ;,一个JTable?我想在最后三个tabbedPanes,三个不同的tabels,如何做到这一点?

这是我的代码:

package optymalizacja;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;

import java.awt.BorderLayout;
import java.awt.event.KeyEvent;

import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTabbedPane;

public class Optymalizacja extends JFrame {

  private static final long serialVersionUID = 1L;

  public static void main( String args [ ] ) {

    Optymalizacja optymalizacja = new Optymalizacja( );
    optymalizacja.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    optymalizacja.setVisible( true );
  }

  public Optymalizacja( ) {

    JTabbedPane tabbedPane = new JTabbedPane( );

    String titles [ ] = { "Postac standardowa", "Postac kanoniczna", "Bazowa postac kanoniczna", "Tabela 1",
        "Tabela 2", "Tabela 3" };
    int mnemonic [ ] = { KeyEvent.VK_G, KeyEvent.VK_S, KeyEvent.VK_C, KeyEvent.VK_O,
        KeyEvent.VK_P, KeyEvent.VK_A };
    for ( int i = 0, n = titles.length; i < n; i++ ) {
      add( tabbedPane, titles[ i ], mnemonic[ i ] );
    }

    // JTable table = new JTable( 4, 5 ); // 4 rows & 5 columns
    // JTable table2 = new JTable( 4, 5 );
    //
    // table.setRowSelectionAllowed( false );
    // table.setColumnSelectionAllowed( false );
    // table.setCellSelectionEnabled( false );
    //
    // table2.setRowSelectionAllowed( false );
    // table2.setColumnSelectionAllowed( false );
    // table2.setCellSelectionEnabled( false );
    //
    // getContentPane().add( new JScrollPane( table ) );
    // getContentPane().add( new JScrollPane( table2 ) );

    add( tabbedPane, BorderLayout.CENTER );

    setSize( 900, 300 );

  }

  static void add( JTabbedPane tabbedPane, String label, int mnemonic ) {
    int count = tabbedPane.getTabCount( );
    JButton button = new JButton( label );
    tabbedPane.addTab( label, new ImageIcon( "yourFile.gif" ), button, label );
    tabbedPane.setMnemonicAt( count, mnemonic );

  }

}

例如:IMAGE

1 个答案:

答案 0 :(得分:2)

为什么不将带有表格的JPanel传递给add方法而不是按钮?

根据documentation,第三个参数是“单击此选项卡时要显示的组件”

JPanel container = new JPanel();
//add the table and other components to the panel
tabbedPane.addTab(label, new ImageIcon("yourFile.gif"), container, label);