我一直在尝试设置文本字段的位置,但似乎只是
生成在JFrame
的中间。
我想在左下角,我该怎么做?我添加了我的程序代码。
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("Atarim");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
JComponent newContentPane = new Atarim(frame);
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
frame.setLocationRelativeTo(null);
frame.setSize(352, 950);
JTextField textfield = new JTextField("search...");
textfield.setLocation(0, 0);
textfield.setSize(150,20);
textfield.setVisible(true);
newContentPane.add(textfield);
frame.setVisible(true);
}
答案 0 :(得分:2)
我要做的第一件事就是尝试克服绝对控制的需要,从长远来看,它会让你的生活更轻松。
Swing员工将系统称为布局管理器,以便于在屏幕上定位UI元素。布局管理器API是Swing工作原理的基础。它使得为不同系统开发UI变得更加容易和快捷,因为您不需要连续计算UI可能运行的所有各种系统的字体度量和屏幕分辨率的差异(针对MacOS,Windows 7和Windows XP开发)同时,我可以确保你这是一个神派)
您可以尝试类似......
newContentPane.setLayout(new GridBagLayout());
GridBagConstraintss gbc = new GridBagConstraintss();
gbc.weightx = 1;
gbc.weighty = 1;
gbc.anchor = GridBagConstraints.NORTHWEST;
newContentPane.add(textfield);
详细了解Using Layout !anagers和A visual guide to layout managers了解详情