我试图创建自己的GUI,尝试将 playerWins JLabel移到最右边。我尝试过更改x和y坐标,但JLabel保持原样。我想知道是否与JPanel设置为CENTER有关。
{{1}}
答案 0 :(得分:2)
使用GridBagLayout
的解决方案将是。
gbc.gridx = 1;
gbc.gridy = 1;
gbc.weightx=1; //Fill all space
gbc.anchor=GridBagConstraints.EAST; //align component to the EAST
我已将x,y设置为1.重要的是要理解这些是与您添加的其他对象相关的索引。 (如果只有一个组件没有意义,那么没有不可见的网格位置。)
答案 1 :(得分:0)
这会将标签移到最右边。
public DieIntGUI(String title) {
super(title);
setSize(700, 700);
getContentPane().setBackground(Color.white);
setLayout(new BorderLayout());
initComponents();
add(panel, BorderLayout.EAST); // Move to right
add(errorMessages, BorderLayout.SOUTH);
setLocationRelativeTo(null);
}
输出:
是的,panel
设置为CENTER
,因为在BorderLayout中,如果您未指定位置,则默认设置为BorderLayout.CENTER
。