使用setLayout(null)
,我可以告诉我的组件是x 5和y 60.但是,这引用了窗口的x和y位置,包括边界。
我可以以某种方式告诉我的组件0,0
是contentPane
的左上角(可见)吗?
由于不同的操作系统具有不同大小的窗口边框,因此特别烦人。
初始化JFrame的代码:
JFrameAdd addFrame;
addFrame = new JFrameAdd();
addFrame.setVisible(true);
addFrame.setTitle("Vokabeltrainer");
addFrame.setResizable(false);
addFrame.setLocationRelativeTo(null);
addFrame.setBounds(100, 100, 825, 585);
addFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
在JFrameAdd.java中:
JButton btnNewButton = new JButton(new ImageIcon(settingsIcon));
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFrameGenerated.settingsFrame.setVisible(true);
}
});
btnNewButton.setBounds(0, 510, 36, 36);
contentPane.add(btnNewButton);
所有代码都在这里:https://github.com/MisterSkilly/Vokabeltrainer/tree/LoadSave/Latein%20asterisk/src是的,我知道我不应该同时运行两个JFrame
,但是改变那些搞砸了,我没有时间去改变那台ATM。
答案 0 :(得分:0)
但是,这引用了窗口的x和y位置,包括边框
不,它引用了内容窗格,其中不包含标题栏和边框。
我可以以某种方式告诉我的组件0,0是contentPane的左上角(可见)吗?
这是默认行为。
如果您认为自己的申请表现不同,请发布展示问题的SSCCE。
一般规则是DON使用空布局。让布局管理员担心定位组件。