gpt4 book ai didi

java - java中使用BorderLayout填充角

转载 作者:行者123 更新时间:2023-12-01 22:31:26 25 4
gpt4 key购买 nike

我正在尝试创建一个窗口,其按钮位于边框布局的中心和两侧,但布局北侧的按钮穿过东边的按钮,我只希望它们位于中心上方。是否有办法用空白填充右上角或在到达 CENTER 布局末尾后停止生成按钮?

这是我的代码:

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]);
}
}

}
}

我是编码初学者,因此我希望获得所有可能的帮助谢谢!

最佳答案

Is there anyway to fill the top right corner with blanks or to stop generating buttons after reaching the end of the CENTER layout?

没有。这不是 BorderLayout 的工作方式。

请参阅 Swing 教程中 Using Layout Managers 的部分.

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

关于java - java中使用BorderLayout填充角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27659667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com