向GUI添加标签和文本框控件

时间:2011-03-08 18:18:12

标签: java user-interface swing jlabel

我想知道要插入什么代码以及在哪里添加一个简单的标签,可以说“Label”这个词和一个输入文本框,我可以输入一个数字。

public CalculateDimensions() {

    JTabbedPane Tab = new JTabbedPane();
    JPanel jplInnerPanel1 = createInnerPanel("First Tab");
    Tab.addTab("One", jplInnerPanel1);
    Tab.setSelectedIndex(0);
    JPanel jplInnerPanel2 = createInnerPanel("Second Tab");
    Tab.addTab("Two", jplInnerPanel2);
    JPanel jplInnerPanel3 = createInnerPanel("Third Tab");
    Tab.addTab("Three", jplInnerPanel3);
    JPanel jplInnerPanel4 = createInnerPanel("Fourth Tab");
    Tab.addTab("Four", jplInnerPanel4);
    JPanel jplInnerPanel5 = createInnerPanel("Fifth Tab");
    Tab.addTab("Five", jplInnerPanel5);

    setLayout(new GridLayout(1, 1));
    add(Tab);
}
protected JPanel createInnerPanel(String text) {
    JPanel jplPanel = new JPanel();
    JLabel jlbDisplay = new JLabel(text);
    jlbDisplay.setHorizontalAlignment(JLabel.CENTER);
    jplPanel.setLayout(new GridLayout(1, 1));
    jplPanel.add(jlbDisplay);
    return jplPanel;
}
public static void main(String[] args) {
    JFrame frame = new JFrame("Calculations");
    frame.addWindowListener(new WindowAdapter() {

        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });
    frame.getContentPane().add(new CalculateDimensions(),
            BorderLayout.CENTER);
    frame.setSize(400, 400);
    frame.setVisible(true);
}

}

2 个答案:

答案 0 :(得分:2)

Swing教程是构建GUI的绝佳资源。

查看可视指南,然后单击所需的组件,详细说明如何创建文本框以及其他项目。

http://download.oracle.com/javase/tutorial/ui/features/components.html

答案 1 :(得分:0)

在您的public static void main()方法中,您不应该实例化JFrame frame = new JFrame("Calculations");

这是你出错的地方!

该行应为:

CalculateDimensions frame = new CalculateDimensions("Calculations");

您还需要更改行

public class CalculateDimensions {

(它接近顶部)说

public class CalculateDimensions extends JFrame {

然后在名为public class CalculateDimensions {的方法中,您需要在JPanel jplInnerPanel1 = createInnerPanel("First Tab");之后添加一行代表

jplInnerPanel1.add(new JLabel("Label");