使用BorderLayout在java中填充角点

使用BorderLayout在java中填充角点,java,Java,我试图创建一个窗口,在边框布局的中心和侧面都有按钮,但布局北侧的按钮穿过东侧的按钮,我只希望它们位于中间。在到达中心布局的末尾后,是否仍要用空格填充右上角或停止生成按钮 这是我的密码: import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridBagLayout; import java.awt.GridLayout; import javax.swing.JButton; import javax.swi

我试图创建一个窗口,在边框布局的中心和侧面都有按钮,但布局北侧的按钮穿过东侧的按钮,我只希望它们位于中间。在到达中心布局的末尾后,是否仍要用空格填充右上角或停止生成按钮

这是我的密码:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridBagLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class Start {
    public static void main(String[] args){
        JFrame okno = new JFrame("igrica");
        okno.setVisible(true);
        okno.setSize(680,680);
        okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JButton[][] gumbi = new JButton[9][9];
        JButton[][] gumbi2 = new JButton [9][9];
        JButton[][] gumbi3 = new JButton [9][9];
        JPanel panel = new JPanel(new BorderLayout());
        okno.add(panel);

        JPanel igralnoPolje = new JPanel(new GridLayout(9, 9));
        panel.add(igralnoPolje, BorderLayout.CENTER);

        for(int i = 0; i < 9; i++){
            for(int j = 0; j < 9; j++){
                gumbi[i][j] = new JButton();
                gumbi[i][j].setBackground(Color.WHITE);
                gumbi[i][j].addActionListener(new Poslusalec(gumbi));
                igralnoPolje.add(gumbi[i][j]);

            }
        }


    //  BoxLayout vodoravneStevilke = new BoxLayout(getContentPane(), BoxLayout.PAGE_AXIS);


        JPanel vodoravneStevilke = new JPanel(new GridLayout(9, 9));
        panel.add(vodoravneStevilke, BorderLayout.EAST);

        for(int i = 0; i < 9; i++){
            for(int j = 0; j < 3; j++){
                gumbi2[i][j] = new JButton();
                gumbi2[i][j].setBackground(Color.WHITE);
                gumbi2[i][j].setText("2");
        //      gumbi2[i][j].addActionListener(new Poslusalec(gumbi2));
                vodoravneStevilke.add(gumbi2[i][j]);

            }
        }

        JPanel navpicneStevilke = new JPanel(new GridLayout(3, 9));
        panel.add(navpicneStevilke, BorderLayout.NORTH);
        for(int i = 0; i < 9; i++){
            for(int j = 0; j < 3; j++){
                gumbi3[i][j] = new JButton();
                gumbi3[i][j].setBackground(Color.WHITE);
                //gumbi3[i][j].addActionListener(new Poslusalec(gumbi));
                gumbi3[i][j].setText("2");

                navpicneStevilke.add(gumbi3[i][j]);
            }
        }   

    }
}
导入java.awt.BorderLayout;
导入java.awt.Color;
导入java.awt.GridBagLayout;
导入java.awt.GridLayout;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
公开课开始{
公共静态void main(字符串[]args){
JFrame okno=新JFrame(“igrica”);
okno.setVisible(真);
okno.setSize(680680);
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton[]gumbi=新JButton[9][9];
JButton[]gumbi2=新JButton[9][9];
JButton[]gumbi3=新JButton[9][9];
JPanel panel=newjpanel(newborderlayout());
添加(面板);
JPanel igralnoPolje=新JPanel(新网格布局(9,9));
面板。添加(igralnoPolje,边界布局。中心);
对于(int i=0;i<9;i++){
对于(int j=0;j<9;j++){
gumbi[i][j]=新的JButton();
甘比[i][j].挫折背景(颜色.白色);
gumbi[i][j].addActionListener(新Poslusalec(gumbi));
添加(gumbi[i][j]);
}
}
//BoxLayout vodoravneStevilke=新的BoxLayout(getContentPane(),BoxLayout.PAGE_轴);
JPanel-vodoravneStevilke=新的JPanel(新的网格布局(9,9));
panel.add(vodoravneStevilke,BorderLayout.EAST);
对于(int i=0;i<9;i++){
对于(int j=0;j<3;j++){
gumbi2[i][j]=新的JButton();
gumbi2[i][j].挫折背景(颜色.白色);
gumbi2[i][j].setText(“2”);
//gumbi2[i][j].addActionListener(新Poslusalec(gumbi2));
添加(gumbi2[i][j]);
}
}
JPanel NAVPICNESTEVIKE=新JPanel(新网格布局(3,9));
面板。添加(navpicneStevilke,BorderLayout.NORTH);
对于(int i=0;i<9;i++){
对于(int j=0;j<3;j++){
gumbi3[i][j]=新的JButton();
gumbi3[i][j].挫折背景(颜色.白色);
//gumbi3[i][j].addActionListener(新Poslusalec(gumbi));
gumbi3[i][j].setText(“2”);
navpicneStevilke.add(gumbi3[i][j]);
}
}   
}
}
我是一个编程行乞者,所以我会尽可能地寻求帮助 谢谢

在到达中心布局的末尾后,是否仍要用空格填充右上角或停止生成按钮

不,这不是边界布局的工作方式

请参见上的Swing教程中的部分

您将需要使用更复杂的布局管理器。我想你可以使用
GridBagLayout
。阅读本教程,因为您需要使用各种约束来实现所需的布局

在到达中心布局的末尾后,是否仍要用空格填充右上角或停止生成按钮

不,这不是边界布局的工作方式

请参见上的Swing教程中的部分

您将需要使用更复杂的布局管理器。我想你可以使用
GridBagLayout
。阅读本教程,因为您需要使用各种约束来实现所需的布局

在到达中心布局的末尾后,是否仍要用空格填充右上角或停止生成按钮

不,这不是边界布局的工作方式

请参见上的Swing教程中的部分

您将需要使用更复杂的布局管理器。我想你可以使用
GridBagLayout
。阅读本教程,因为您需要使用各种约束来实现所需的布局

在到达中心布局的末尾后,是否仍要用空格填充右上角或停止生成按钮

不,这不是边界布局的工作方式

请参见上的Swing教程中的部分


您将需要使用更复杂的布局管理器。我想你可以使用
GridBagLayout
。阅读本教程,因为您需要使用各种约束条件来实现所需的布局。

如果我只需要一些随机数,那么按钮替代如何。是否可以将数字与下面的按钮对齐?@减号,通过布局管理器的正确组合,任何事情都是可能的。有时,您可能需要使用不同的布局嵌套面板以获得所需的结果。阅读教程和实验。如果我只是想要一些随机数,那么按钮的替代物呢。是否可以将数字与下面的按钮对齐?@减号,通过布局管理器的正确组合,任何事情都是可能的。有时,您可能需要使用不同的布局嵌套面板以获得所需的结果。阅读教程和实验。如果我只是想要一些随机数,那么按钮的替代物呢。是否可以将数字与下面的按钮对齐?@减号,通过布局管理器的正确组合,任何事情都是可能的。有时,您可能需要使用不同的布局嵌套面板以获得所需的结果。阅读教程和实验。如果我只是想要一些随机数,那么按钮的替代物呢。是否可以将数字与下面的按钮对齐?@减号,通过布局管理器的正确组合,任何事情都是可能的。有时,您可能需要使用不同的布局嵌套面板以获得所需的结果。阅读教程和实验。