2014-11-09 5 views
0

Я пытаюсь создать основной экран входа, но когда я его запустил, текстовое поле огромно и увеличивается, когда я максимизирую окно. Как мне заставить его оставаться с фиксированным размером?BoxLayout и JTextField не работают так, как мне это нужно

public class LoginScreen { 

    LoginScreen() 
    { 
     JFrame frame = new JFrame(); 
     Box b = Box.createVerticalBox(); 
     JLabel title = new JLabel("Welcome to login screen"); 
     b.add(title); 
     title.setAlignmentX(JFrame.CENTER_ALIGNMENT); 
     title.setFont(title.getFont().deriveFont(20.0f)); 
     title.setBorder(new EmptyBorder(20,10,20,10)); 
     Box c = Box.createHorizontalBox(); 
     JLabel login = new JLabel("Login Id"); 
     login.setAlignmentX(JFrame.CENTER_ALIGNMENT); 
     JTextField loginf = new JTextField(""); 
     loginf.setAlignmentX(JFrame.CENTER_ALIGNMENT); 
     c.add(login); 
     c.add(loginf); 
     b.add(c); 
     frame.add(b); 
     frame.setSize(450,350); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
    } 
    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     // TODO code application logic here 
     SwingUtilities.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       new LoginScreen(); 
      } 
     }); 
    } 

}

+0

Если вы не используете Box и для JTextField используйте setBounds (x, y, width, height) – Mailkov

+0

Я пробовал делать это для JTextField, но он не работает. Кроме того, мне нужна коробка для форматирования, поскольку JLabel и JTextField должны быть в прямой линии. –

ответ