Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JButton包括其他按钮_Java_Swing_Layout_Jframe_Jbutton - Fatal编程技术网

Java JButton包括其他按钮

Java JButton包括其他按钮,java,swing,layout,jframe,jbutton,Java,Swing,Layout,Jframe,Jbutton,我被困在这里面有一段时间了。问题是我想将我的按钮移到屏幕的右侧,但当我使用borderlayout.east时,它会删除我创建的另一个按钮。谁能解释一下为什么会这样,我该如何解决这个问题 public static void main(String args[]){ GUI(); } public static void GUI(){ handle handle = new handle(); JButton buy

我被困在这里面有一段时间了。问题是我想将我的按钮移到屏幕的右侧,但当我使用borderlayout.east时,它会删除我创建的另一个按钮。谁能解释一下为什么会这样,我该如何解决这个问题

    public static void main(String args[]){
        GUI();

    }


    public static void GUI(){

        handle handle = new handle();
        JButton buy[] = new JButton[8];


        _panel.setLayout(new BorderLayout());


        for(int i = 0; i < buy.length; i++){

            buy[i] = new JButton("Buy");
            _panel.add(buy[i],BorderLayout.EAST);

        }


        _panel.setPreferredSize(new Dimension(600,600));        

        //_panel.add(buy, BorderLayout.EAST);

        _frame.add(_panel);
        _frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        _frame.setLocation(500, 100);
        _frame.setResizable(false);
        _frame.getContentPane();
        _frame.pack();
        _frame.setVisible(true);

    }

}
publicstaticvoidmain(字符串参数[]){
GUI();
}
公共静态void GUI(){
句柄=新句柄();
JButton buy[]=新JButton[8];
_panel.setLayout(新的BorderLayout());
for(int i=0;i
根据

边框布局

边框布局布局容器,排列并调整其大小 组件以适合五个区域:北、南、东、西和 中锋每个区域只能包含一个组件,并且 由相应的常数标识:北、南、东、西和 中锋


您正在将所有
JButtons
添加到
JPanel
以东

 for(int i = 0; i < buy.length; i++){
        buy[i] = new JButton("Buy");
        _panel.add(buy[i],BorderLayout.EAST);<-------------
    }

添加到布局将替换其他内容,您可能需要在东侧添加一个面板,然后在面板上附加按钮,类似于以下内容:

    JPanel subPanel = new JPanel(new FlowLayout());
    _panel.add(supPanel, BorderLayout.EAST);

    for(int i = 0; i < buy.length; i++){

        buy[i] = new JButton("Buy");
        subPanel.add(buy[i]);

    }
JPanel subPanel=newjpanel(newflowlayout());
_添加面板(supPanel,BorderLayout.EAST);
for(int i=0;i
这是总布置图:


查看更多信息。

那么我应该如何修复它?我是否可以调整按钮的大小或移动按钮?您正在同一区域添加所有按钮,即
BorderLayout.EAST
,您可以使用我通读过的BoxLayout、BorderLayout和bag…但它们都没有按我希望的方式工作。
    JPanel subPanel = new JPanel(new FlowLayout());
    _panel.add(supPanel, BorderLayout.EAST);

    for(int i = 0; i < buy.length; i++){

        buy[i] = new JButton("Buy");
        subPanel.add(buy[i]);

    }