【发布时间】:2017-12-31 06:10:37
【问题描述】:
我为桌面应用程序制作了一个自定义 JFrame,并在应用程序的最顶部添加了一个 JPanel 作为标题框的替代品。问题是当我添加一个按钮时,它位于 JPanel 的中间,而不是通常的左上角。即使我将它设置在不同的位置,它也不会移动。 这是代码:
JFrame f = new JFrame("Hello");
f.setResizable(true);
JPanel pa = new JPanel();
JButton btn = new JButton("Exit");
btn.setBackground(Color.white);
btn.setText("Button");
btn.setSize(300, 80);
btn.setLocation(50, 0);
pa.setBackground(Color.red);
pa.setPreferredSize(new Dimension(width,60));
pa.add(btn);
f.setBackground(Color.white);
f.setUndecorated(true);
f.getContentPane().add(pa, BorderLayout.NORTH);
f.setSize(new Dimension(width,height));
f.setLocation(200, 200);
f.setVisible(true);
【问题讨论】:
-
您所说的“通常的左上角”是指“通常的”,如“您期望它去的地方”还是“您以前见过 Swing 放置的地方”?如果是前者,请按照 Axel 的建议阅读 Swing 文档(以及 menu 文档,如果这就是您要创建的内容)。如果是后者,一个按您预期工作的组件示例将有助于进行比较。
标签: java swing layout layout-manager