gpt4 book ai didi

java - JAR 文件弄乱了 GUI?

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

我有一些作业要做一个简单的登录窗口。完成编码后,我尝试将文件导出到可运行的 jar 文件中,运行 jar 文件后,我发现它弄乱了 GUI。由于某种原因,JPasswordField 填满了我的整个 JFrame。我不知道可能是什么问题,因为它在 IDE 中运行良好。有帮助吗?

What I want it to look like

What it looks like when I run the JAR

这是代码(在 eclipse IDE 中运行良好):`

public class Login extends JFrame {

private static final long serialVersionUID = 1L;
private static JTextField user = new JTextField();
private static JPasswordField pass = new JPasswordField();
private static JButton Loginbtn = new JButton("Login");
protected String[] args;
private static JFrame frame = new JFrame("Log In");


public Login(){

Loginbtn.addActionListener(new ActionListener(){
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e){
if(user.getText().equals("Admin") && pass.getText().equals("Nimda")){

//System.out.println("Hello ADMIN!");
JOptionPane.showMessageDialog(null, "Logged In!");
MyLog.main(args);
frame.setVisible(false);
}
else{

//System.out.println("Login error!");
JOptionPane.showMessageDialog(null, "Login Error!");
}
}
});

}

public static void main(String[] args) {

@SuppressWarnings("unused")
Login login = new Login();
JLabel username = new JLabel("Username");
JLabel password = new JLabel("Password");

frame.setSize(260, 200);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

username.setBounds(20, 60, 100, 20);
password.setBounds(20, 85, 100, 20);
pass.setBounds(85, 85, 150, 20);
user.setBounds(85, 60, 150, 20);
Loginbtn.setBounds(88, 110, 50, 20);

frame.add(username);
frame.add(password);
frame.add(Loginbtn);
frame.add(user);
frame.add(pass);

}
}

先谢谢大家了!干杯!

最佳答案

在将组件添加到 JFrame 之前调用 setVisible 很可能会导致问题。在调用 setVisible 之前,您应该将所有需要的组件添加到 JFrame,因为 setVisible 会验证这些组件(布置它们)。

What setVisible does from the API, you'll see it talks about validating the components

What validate does from API

关于java - JAR 文件弄乱了 GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23962862/

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