как отобразить содержимое вкладки в рабочей области Jtabbedpane?

#swing #netbeans #jtabbedpane

#swing #netbeans #jtabbedpane

Вопрос:

я поместил jpanel на вкладку Jtabbedpane, которая находится слева, и при нажатии на вкладку я хочу отображать метки и текстовые поля в рабочей области панели вкладок, пожалуйста, обратите внимание.

Комментарии:

1. если какой-либо данный ответ решает вашу проблему, пожалуйста, примите один из них. Помните, что нет смысла оставлять вопрос открытым, если он решен. Все хорошо

Ответ №1:

Когда вы говорите «рабочая область панели вкладок», я думаю, вы имеете в виду свою JPanel?

Вы должны прикрепить JLabels и JTextFields к JPanel с помощью JPanel.add(), прежде чем добавлять JPanel в JTabbedPane.

Комментарии:

1. Если этот ответ решил проблему, не забудьте пометить его как правильный (нажав «галочку» рядом с сообщением.

Ответ №2:

Я думаю, вам следует поступить точно так, как говорит @7SpecialGems ( 1 за это). Вот пример, показывающий, как именно это может выглядеть в коде.

 import java.awt.Color;
import java.awt.HeadlessException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class JTabbedPaneSample
{
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run()
            {
                createGUI();    
            }
        });
    }

    private static void createGUI() throws HeadlessException
    {
        JPanel oi1 = new JPanel();
        oi1.setBackground(Color.RED);
        oi1.add(new JLabel("Label 1"));
        JPanel oi2 = new JPanel();
        oi2.setBackground(Color.PINK);
        oi2.add(new JLabel("Label 2"));
        oi2.add(new JTextField("TextField 1"));     
        JTabbedPane tp = new JTabbedPane();
        tp.addTab("Oi1", oi1);
        tp.addTab("Oi2", oi2);          
        JPanel contentPane = new JPanel();
        contentPane.add(tp);
        JFrame f = new JFrame();
        f.setContentPane(contentPane);
        f.setSize(800, 600);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
}
  

Удачи, Боро.