JButton上的setLocation似乎无法正常工作

斯皮卡特里克斯

这是我的代码的简化版:

JPanel card1 = new JPanel();

JLabel switch1 = new JLabel(new ImageIcon("switch1.jpg"));
switch1.setLocation(TOPSWITCH, LEFTSWITCH1);
JLabel switch2 = new JLabel(new ImageIcon("switch1.jpg"));
switch2.setLocation(TOPSWITCH, LEFTSWITCH2);
JLabel switch3 = new JLabel(new ImageIcon("switch1.jpg"));
switch3.setLocation(TOPSWITCH, LEFTSWITCH3);

card1.add(switch1);
card1.add(switch2);
card1.add(switch3);

card1.setBackground(Color.BLACK);

/* JButton goToRoom = new JButton("TEST");

goToRoom.setLocation(180, 270);

card1.add(goToRoom); */

card1被添加到使用大小的JFrame中my_frame.setSize(400, 300);

上面的代码按预期工作。但是,当我取消注释代码段的注释时,JButton出现在图像的右侧,JLabel而不是出现在图像下方。可能是什么问题呢?


附加信息:

final static int TOPSWITCH   = 150;

final static int LEFTSWITCH1 = 65 ;
final static int LEFTSWITCH2 = 155;
final static int LEFTSWITCH3 = 245;

switch1.jpg 尺寸为91 x 150


注意:我想这样做而不添加更多内容JPanels

安德鲁·汤普森

可能是什么问题呢?

  1. 想要设置明确的位置。
  2. 与布局经理战斗。

Java GUI必须在不同的语言环境中使用不同的PLAF在不同的OS,屏幕大小,屏幕分辨率等上工作。因此,它们不利于像素的完美布局。而是使用布局管理器,或它们的组合与布局沿填充和边框为白色的空间

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章