当我在setBounds();
上使用JLabel
或JButton
时,没有任何事情发生?
public Window() {
this.setExtendedState(Window.MAXIMIZED_BOTH);
this.setDefaultCloseOperation(Window.EXIT_ON_CLOSE);
setUndecorated(true);
hideMoue();
JLabel back=new JLabel(new ImageIcon("D:\\Java\\stone\\background.png"));
add(back);
back.setLayout(new FlowLayout());
l1=new JLabel("Label");
b1=new JButton("Button");
l1.setBounds(483, 513, 400, 60);
l1.setBounds(483, 443, 400, 60);
back.add(l1);
back.add(b1);
setSize(1366,768);
setVisible(true);
}
我认为布局管理器中的问题但我找不到解决方案!!
答案 0 :(得分:0)
这是您正在使用的布局的预期功能,即FlowLayout
。如果您希望setBounds()
生效而不是setLayout(null);
说了这么多,强烈建议不要使用空布局。如何放置和排列组件应留在布局管理器
答案 1 :(得分:0)
将back
JLabel更改为null
布局。
...
JLabel back=new JLabel(new ImageIcon("D:\\Java\\stone\\background.png"));
add(back);
back.setLayout(null);
...
密切关注你的第二个setBounds()
命令。您可以在l1
上设置两个命令。