【发布时间】:2014-11-09 09:13:53
【问题描述】:
我正在尝试创建一个基本的登录屏幕,但是当我运行它时,文本框很大,并且在我最大化窗口时会增加。如何让它保持固定大小?
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();
}
});
}
}
【问题讨论】:
-
如果你不使用 Box 而对于 JTextField 使用 setBounds(x,y,width,height)
-
我尝试为 JTextField 这样做,但它不起作用。另外,我需要 Box 进行格式化,因为 JLabel 和 JTextField 必须在一条直线上。
标签: java jframe jtextfield boxlayout