gpt4 book ai didi

java - Eclipse for Java Swing 中的结果不一致

转载 作者:行者123 更新时间:2023-12-04 06:29:17 25 4
gpt4 key购买 nike

我正在自学 Java,并且正在阅读“Java All in One Desk Reference For Dummies”。我目前正在使用书中提供的代码来练习 Swing。这是我使用的来自书中的代码:`import javax.swing.*;

public class JavaBook6 extends JFrame
{



public static void main(String[] args)
{
new JavaBook6();

}

public JavaBook6()
{
this.setSize(400, 400);
this.setLocation(500, 0);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("Sample");
this.setVisible(true);


JPanel pnlMain = new JPanel();
JCheckBox chkMy = new JCheckBox("Save");
JButton btnMy = new JButton("Search");
JTextField txtMy = new JTextField(20);

pnlMain.add(chkMy);
pnlMain.add(txtMy);
pnlMain.add(btnMy);
this.add(pnlMain);




}
}

当我按下运行时,我似乎得到了不一致的结果。总是会出现一个窗口。但是,有时窗口中显示的唯一内容是 Frame 标题,而其他时候,如我所料,JCheckBox、JTextArea 和 JButton 等组件会显示出来。

我的问题是为什么这些组件有时会出现而不是其他的?我尝试过使用其他组件并得到相同的不一致结果。

正如我所说,我是一个初学者,因此我对 java 的工作原理有一个非常基本的了解,所以如果我的问题的答案很明显,请原谅我。

最佳答案

我对教科书印象不深:

  • GUI 应在 EDT 上创建。阅读 Swing 教程中关于 Concurrency 的部分了解更多信息。我还建议您使用教程中的示例,因为它们包含了教程中的建议。
  • 在调用 setVisible(true) 方法之前,必须将组件添加到 GUI。 (有一些方法可以解决这个问题,但现在保持简单并遵循此规则)。
  • 关于java - Eclipse for Java Swing 中的结果不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5629858/

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