Java Gui 组件不会出现在 JFrame 中
Posted
技术标签:
【中文标题】Java Gui 组件不会出现在 JFrame 中【英文标题】:Java Gui components do not appear in the JFrame 【发布时间】:2014-04-05 02:23:08 【问题描述】:我有一个奇怪的问题,可能是我使用的 eclipse 的问题:
我想编写一个计算器,但应该出现在 Jframe 中的组件不存在!直到我点击它时文本字段才会出现,当我用鼠标指针越过它时按钮就会出来......
这是我的代码:
package calculator;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
public class MeinTaschenrechner extends JFrame
JTextField textField;
JButton button1;
public MeinTaschenrechner()
setVisible(true);
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setTitle("Taschenrechner");
setResizable(false);
setLayout(null);
textField=new JTextField("0");
textField.setBounds(5, 10, 285, 50);
Font font=textField.getFont().deriveFont(Font.PLAIN,30);
textField.setFont(font);
add(textField);
// addingNumberButtons();
button1=new JButton("1");
button1.setBounds(5, 65, 75, 65);
add(button1);
这是我的主要课程:
package calculator;
public class ExecuteKlasse
public static void main(String[] args)
MeinTaschenrechner cc=new MeinTaschenrechner();
【问题讨论】:
【参考方案1】:你不能设置 setVisible(true);你的第一行代码。添加 setVisible(true);作为构造函数的最后一行。
【讨论】:
完美!如果是第一行有什么问题? 如果它是第一行,那么无论处于何种状态的组件都会开始绘制。在下一次重绘之前,您构建的其他组件不会出现,这可能有多种原因,例如,如果您拉伸窗口,或者如果组件像您使用按钮一样具有特殊的滚动区域,则将鼠标悬停在特殊的滚动区域上。 @user3133542,您需要先将组件添加到框架中,然后才能使其可见。另外,不要使用 setBounds()。 Swing 旨在与布局管理器一起使用。以上是关于Java Gui 组件不会出现在 JFrame 中的主要内容,如果未能解决你的问题,请参考以下文章