2016-04-01 4 views
1

Я хочу вставить в каждое содержимое tabbedPane разное содержимое. А вот мой вопрос, как вставить, например, в tabbedPane под названием «Tabela 1», JTable? Я хочу иметь в последних трех tabbedPanes, три разных таблиц, как это сделать?Swing JTabbedPane - содержимое вставки

Вот мой код:

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

+0

'tabbedPane.addTab ("Tabela 1", новый JScrollPane (новый JTable())) '...? Возможно, вам стоит взглянуть на [Как использовать вкладные панели] (https://docs.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html) – MadProgrammer

ответ

2

Почему не переходя к add методу JPanel с таблицей на ней, вместо кнопки?

Согласно documentation, то третий аргумент "компонент, который будет отображаться, когда эта вкладка щелкнул"

JPanel container = new JPanel(); 
//add the table and other components to the panel 
tabbedPane.addTab(label, new ImageIcon("yourFile.gif"), container, label); 
Смежные вопросы