0

这是非常基本的代码,但我只需要一些帮助来理解..

我有一个按钮,我想把它放在面板的东侧..任何建议..

    public class ButtonText { 
        public static void main(String[] args) {
            Frame frame=new Frame("Button Frame");
            Button button = new Button("Submit"); 
            frame.setLayout(new FlowLayout());
            frame.add(button, BorderLayout.EAST);
            frame.setSize(200,100);
            frame.setVisible(true);
            frame.addWindowListener(new WindowAdapter()
            {
                public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
    }

看起来像这样http://imgur.com/0GYso

任何帮助将不胜感激,谢谢!

4

5 回答 5

2

要使用边框布局管理器布置用户界面,您需要将框架的布局设置为 BorderLayout 的实例。默认的 FlowLayout 从左到右设置组件,并在必要时设置到下一行。

frame.setLayout(new BorderLayout());
frame.add(button, BorderLayout.EAST);
于 2012-10-10T14:04:15.123 回答
1

您可以使用在框架中定位元素的布局。看看这里。您正在使用FlowLayout,但您需要了解每个布局和定位元素的规则。

于 2012-10-10T14:04:14.367 回答
0

FlowLayout不能使用BorderLayout约束...

尝试使用BorderLayout代替,FlowLayout它应该可以正常工作。

于 2012-10-10T14:04:53.813 回答
0

Flowlayout 不允许你这样做,你应该设置

     frame.setLayout(new BorderLayout());
     frame.add(button, BorderLayout.EAST);

或者

     frame.setLayout(new BorderLayout());
     frame.add(button, BorderLayout.LINE_START);

让它发挥作用,

Flowlayout只定位水平堆栈之类的东西。

于 2012-10-10T14:05:52.263 回答
0

你可能想尝试这样的事情

Frame frame=new Frame("Button Frame");

Button button = new Button("Submit"); 

HorizontalPanel hp = new HorizontalPanel();
hp.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
hp.setWidth(200);
hp.add(button);

frame.add(hp);
frame.setSize(200,100);
frame.setVisible(true);
于 2012-10-10T14:07:02.853 回答