0

我一直在尝试设置我的文本字段的位置,但似乎它只是在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);
}
4

1 回答 1

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 !anagersA visual guide to layout manager了解更多详情

于 2013-06-17T20:41:56.643 回答