gpt4 book ai didi

java - JPanel 消耗整个 JFrame

转载 作者:行者123 更新时间:2023-11-30 11:15:47 25 4
gpt4 key购买 nike

我正在创建一个具有登录屏幕的 Java 应用程序。现在我正在设计登录屏幕。我在JFrame中使用了一个Panel,它位于BorderLayout.CENTER,然后设置Panel的布局code> 为 GridLayout(3,1)。现在我的应用程序看起来像这样:

Rightnow how my image looks

我想像这样设计我的 JFrame:

My design idea

这里灰色部分是 JFrame,红色部分是 Panel,它有登录屏幕、TextField >按钮的。我不希望 TextFieldButton 出现在整个屏幕上。

这就是我现在做的

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);
}

}

最佳答案

如果您希望它的边缘有一个边框(例如,如果它调整大小),请在居中的 JPanel 周围添加一个您认为合适的空边框。

myPanel.setBorder(new EmptyBorder(int, int, int, int))

如果要防止 BorderLayout CENTER 正常工作使其变大,请设置居中 JPanel 的最大尺寸。

myPanel.setMaximumSize(new Dimension(x, y))

关于java - JPanel 消耗整个 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com