Java - 在JPanel中添加两个选项卡

时间:2013-12-06 17:19:09

标签: java jpanel jtabbedpane

我在JPanel中有标签问题。我知道如何在大型机中制作新标签,但我不知道如何在大型机中的JPanel中制作标签。

以下是图片:

我的程序看起来像这样 - http://www.bildites.lv/viewer.php?file=vklfhvfdfpwpcxllfqv.png

但我想让它看起来像这样 - http://www.bildites.lv/viewer.php?file=bvbrp4qfx2krn9bkx30j.png

这是我的蓝色JPanel的代码:

package gui;

import java.awt.Color;

import javax.swing.JPanel;

public class CallsPanel extends JPanel {
    private MainFrame frame;
    Color color = new Color(99, 184, 255); // steelblue

    public CallsPanel(MainFrame frame) {
        this.frame = frame;

        this.setLocation(0, 0);
        this.setSize(300, 380);
        this.setLayout(null);
        this.setBackground(color);

        this.initContent();
    }

    // -------------------------------------------------------------------------

    // Declare New Things

    private void initContent() {
        // Add New Things
    }

    // -------------------------------------------------------------------------

}

非常感谢那些有帮助的人!

2 个答案:

答案 0 :(得分:0)

请参阅此简单的可运行示例

import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;

public class MyPanel extends JPanel {
    JButton button = new JButton("Button");
    JTabbedPane tabPane = new JTabbedPane();

    public MyPanel(){
        JPanel panel1 = new JPanel();
        JPanel panel2 = new JPanel();

        tabPane.add("Panel 1", panel1);
        tabPane.add("Panel 2", panel2);
        tabPane.setBorder(new EmptyBorder(10, 10, 10, 10));

        setLayout(new BorderLayout());
        add(tabPane, BorderLayout.CENTER);
        add(button, BorderLayout.SOUTH);

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new JFrame();
                frame.add(new MyPanel());
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setLocationByPlatform(true);
                frame.setSize(300, 300);
                frame.setVisible(true);
            }
        });
    }
}

答案 1 :(得分:0)

JTabbedPane tabPane = new JTabbedPane();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JLabel label1 = new JLabel("Tab 1");
JLabel label2 = new JLabel("Tab 2");

panel1.add(label1);
panel2.add(label2);

tabPane.add("Tab 1", panel1);
tabPane.add("Tab 2", panel2);
this.add(tabPane);

使用tabPane的大小/颜色/形状,看看哪些适合您。但这是tabPane的基础。