gpt4 book ai didi

java - 如何更改 Jbutton 的大小而不更改其所在的 Jpanel 的大小?

转载 作者:行者123 更新时间:2023-12-01 13:08:20 26 4
gpt4 key购买 nike

所以我的屏幕上有 2 个面板。一个已设置为 WES​​T,另一个设置为 CENTER 以占据屏幕的其余部分。我遇到的问题:

  1. 当我更改按钮的大小时,它要么也会更改面板的大小,要么根本不执行任何操作。注释掉的行是我正在尝试执行此操作的地方。如何在不改变面板大小的情况下使按钮变小?
  2. 就调整大小而言,这两个按钮总是会执行相同的操作吗?或者有没有一种方法可以使不同的按钮具有不同的尺寸和不同的间距,而不必将它们分配给不同的面板?
<小时/>
 public MainPanel() {
super();

this.setLayout(new BorderLayout());
buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(5, 1));
buttonPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
this.add(buttonPanel, BorderLayout.WEST);

centerPanel = new JPanel();
centerPanel.setBackground(Color.black);
centerPanel.setOpaque(true);
centerPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
this.add(centerPanel, BorderLayout.CENTER);

JButton options = new JButton("Options");
//options.setPreferredSize(new Dimension(100, 100));
buttonPanel.add(options);
options.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
RichardDemo.this.switchPanel(MainPanel.this);
}
});

JButton start = new JButton("Start Game");
buttonPanel.add(start);
start.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

}
});
}
}

最佳答案

When I change the size of the buttons it either changes the size of the panel too or does nothing at all?

您不需要更改组件的大小。只需将其留给布局管理器来调整组件的大小即可。

Are the 2 buttons always gonna do the same thing as far as resizing?

这不是必需的。这取决于您使用的布局。

Is there a way of making different buttons different sizes with different spaces in between WITHOUT having to assign them to different panels?

是的,您可以使用 GridBagLayout来实现它

enter image description here

关于java - 如何更改 Jbutton 的大小而不更改其所在的 Jpanel 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096204/

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