【问题标题】:Java, JFrame not rendering components after adding a JTextfieldJava,JFrame在添加JTextfield后不渲染组件
【发布时间】:2012-09-14 14:55:48
【问题描述】:

所以我在笔记本电脑上安装了 Eclipse,并开始了一个新的学校项目。我的程序运行良好,直到我添加了一个 JTextfield,当我这样做时,它只会显示一个空的灰色 JFrame,而不是包含我所有组件的 JFrame。如果我删除带有 JTextfield 的代码行,它会在我运行时再次显示。同样对于 JTextfield 行,JFrame 是灰色的,直到我调整窗口大小,然后一切都显示正常.. 但我不想每次运行它时都调整我的 JFrame 大小.. 首先我运行的是 Java 7,所以降级到 Java 6,但仍然遇到同样的问题......

所以添加这个:

JTextField txtMyField = new JTextField(10);
myFrame.add(txtMyField);

会把事情搞砸,删除这两行代码会让它再次工作.. 我尝试过创建一个新项目,在我添加一个文本字段之前它工作正常。 我在 eclipse 中尝试了一个新的工作区,在我添加一个文本字段之前工作正常..

这是怎么回事?

【问题讨论】:

    标签: rendering jtextfield


    【解决方案1】:

    试试这个,在添加所有的swing组件后让jframe可见myjframe.setVisible(true);

    【讨论】:

      【解决方案2】:

      如果没有您的确切代码,我只能假设。

      如果你调用 myFrame.add(txtMyField);您将其添加到与 JPanel 相同的级别。试试这个

      JPanel panel = new JPanel();
      
      JTextField field1 = new JTextField(10);
      panel.add(field1)
      
      JTextField field2 = new JTextField(10);
      panel.add(field2);
      
      add(panel);
      

      这会将 2 个文本字段添加到面板,并将面板添加到框架。默认情况下,面板作为 FlowLayout 将它们浮动在一起,请参阅 here 到其他布局。

      【讨论】:

      • 不,这不是问题。我正在将文本字段添加到我放在 jframe 上的 jpanel 中。但问题不在于我的代码,问题在于 Java 渲染错误或图形问题或类似问题..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 2013-01-14
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      相关资源
      最近更新 更多