如何在JFrame中排列标签?

时间:2014-06-13 09:32:37

标签: java swing layout jframe

我在框架中安排标签时遇到问题; 我只想让某人指导我朝着正确的方向前进。 我想要做的是创建一个JButton并将其放置在框架的左半部分,而右半部分将在北部设置为JTextField,在底部设置为12 JButtons JTextField就像计算器一样。

这是我的代码

import java.awt.*;

import javax.swing.*;

public class Code {
JFrame f = new JFrame("The Front View of a Microwave Oven");

JPanel p1 = new JPanel(new BorderLayout());
JPanel p2 = new JPanel();
JPanel p3 = new JPanel(new GridLayout(4,3));
JPanel p4 = new JPanel(new BorderLayout());

JTextField text = new JTextField("Time to be displayed here");

JButton b = new JButton("Food to be placed here");
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
JButton b3 = new JButton("3");
JButton b4 = new JButton("4");
JButton b5 = new JButton("5");
JButton b6 = new JButton("6");
JButton b7 = new JButton("7");
JButton b8 = new JButton("8");
JButton b9 = new JButton("9");
JButton b0 = new JButton("0");
JButton start = new JButton("Start");
JButton stop = new JButton ("Stop");

public void ui(){
    p2.add(text, BorderLayout.NORTH);
    p2.add(p3, BorderLayout.CENTER);

    p4.add(b, BorderLayout.WEST);
    p4.add(p2, BorderLayout.EAST);

    p3.add(b1);
    p3.add(b2);
    p3.add(b3);
    p3.add(b4);
    p3.add(b5);
    p3.add(b6);
    p3.add(b7);
    p3.add(b8);
    p3.add(b9);
    p3.add(b0);
    p3.add(start);
    p3.add(stop);

    f.add(p4);
    f.setSize(370, 300);
    f.setVisible(true);
    f.setLayout(new BorderLayout());
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}

它正确显示了右边的大按钮..但是如何将JTextField的12个按钮放在JFrame的右边?

2 个答案:

答案 0 :(得分:1)

LayOut Managers是解决这些问题的方法。您还可以查看this beginner program,还可以查看此Stackoverflow Post - just the code posted in question

答案 1 :(得分:0)

此外,您可以将布局设置为空,如panel.setLayout(null)label.setBounds(10,10,20,100),以使用x,y坐标以及高度和宽度调整位置。这是一种简单的方法。

但布局管理器主要使用,可以避免玩像素。