我正在创建一个具有登录屏幕的Java应用程序。现在我正在设计登录屏幕。我在Panel
中使用JFrame
,BorderLayout.CENTER
位于Panel
,然后将GridLayout(3,1)
的布局设置为JFrame
。现在我的应用程序看起来像这样:
我想像我这样设计我的JFrame
:
此处灰色部分为Panel
,红色部分为TextField
,其中包含登录屏幕Button
和TextField
。我不希望整个屏幕上显示Button
和public class MailClient {
JFrame loginScreen;
JTextField emailid;
JPasswordField password;
JButton login;
Dimension loginScreenSize;
JPanel entireLogin;
BorderLayout mainLayout;
public static void main (String args[])
{
MailClient obj = new MailClient();
obj.build();
}
public void build()
{
mainLayout = new BorderLayout(40, 40);
loginScreenSize = new Dimension(300,300);
loginScreen = new JFrame("MailClient");
loginScreen.setSize(loginScreenSize);
loginScreen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
loginScreen.setResizable(false);
loginScreen.setLocationRelativeTo(null);
loginScreen.setLayout(mainLayout);
entireLogin = new JPanel();
entireLogin.setLayout(new GridLayout(3,1));
emailid = new JTextField();
password = new JPasswordField();
login = new JButton("LOGIN");
entireLogin.add(emailid);
entireLogin.add(password);
entireLogin.add(login);
loginScreen.add(entireLogin, BorderLayout.CENTER);
loginScreen.setVisible(true);
}
}
。
这就是我现在所做的
{{1}}
答案 0 :(得分:1)
如果您希望它具有边缘边框(例如,如果调整大小),请在居中的JPanel周围添加适当厚度的空边框。
myPanel.setBorder(new EmptyBorder(int, int, int, int))
如果要防止BorderLayout CENTER正常工作使其变大,请设置居中JPanel的最大尺寸。
myPanel.setMaximumSize(new Dimension(x, y))