Java框架布局

Java框架布局,java,swing,login,interface,Java,Swing,Login,Interface,我必须创建一个登录界面。我尝试使用边框布局,而不是将此模型用于框架,但当我将setLocationRelativeTo(null)写入时,框架的内部组件显示错误。关于如何将框架设置在屏幕中心,将内部组件设置在屏幕中心,并在特定坐标下良好显示的一些提示 class Login extends JFrame { JLabel label1; final JTextField text1; public Login(){ setTitle

我必须创建一个登录界面。我尝试使用边框布局,而不是将此模型用于框架,但当我将setLocationRelativeTo(null)写入时,框架的内部组件显示错误。关于如何将框架设置在屏幕中心,将内部组件设置在屏幕中心,并在特定坐标下良好显示的一些提示

class Login extends JFrame {
        JLabel label1;
        final JTextField text1;
        public Login(){
        setTitle("title");
        setLayout(null); //output on left-corner of screen or
       setLocationRelativeTo(null); // output on the middle with components displayed wrong
        label1 = new JLabel();
        label1.setText("text");
        text1 = new JTextField(15);
        label1.setBounds(100, 100, 100, 20);
        text1.setBounds(200, 100, 200, 20);
        add(label1);
        add(text1);
        setVisible(true);
        setSize(500, 400);
}公共静态void main(字符串[]args){
`


newlogin();}

通过调用setLocationRelativeTo(null)可以解决您当前的问题;调用
setSize(…)

尽管如此,我的实际建议是:

  • 不要调用
    setSize(…)
    。让布局管理器为您执行此操作
  • 一定要使用布局管理器
  • setVisible(true)
  • Do call
    setLocationRelativeTo(空)打包后和设置前可见
  • 当你问类似的问题时,一定要学会创造一个新的答案。您当前的代码没有遵循这个简单工具的规则,这迫使我们为您这样做

对于一个简单的布局问题,您应该a)向我们展示您试图使用的工具(此处为布局管理器)的尝试b)向我们展示重现您的问题的方法。c) 展示你想要的布局和实际布局的图片。我的代码是大约450行逻辑,只有30行图形,以向你展示一个正确的例子,我必须切割不需要的部分serve@CiMat:请在发表这些声明之前阅读链接。这样做,你就会发现你上面的陈述毫无意义。我们并不是要整个程序,但是您发布的代码使用了您没有在任何地方声明的字段,它没有导入,没有主方法。再次重申,至少阅读我们提供的链接。是的,谢谢。我不是一个很好的图形,我喜欢做一个逻辑程序,但我必须使用布局管理器,这是你建议的
  setSize(500, 400);
  setLocationRelativeTo(null);