为什么我的文本框在没有最大化java GUI的情况下不显示
我正在尝试创建带有两个文本框的小型GUI。最短代码如下:为什么我的文本框在没有最大化java GUI的情况下不显示,java,swing,jframe,jpanel,jtextfield,Java,Swing,Jframe,Jpanel,Jtextfield,我正在尝试创建带有两个文本框的小型GUI。最短代码如下: import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class MortgageCalculator implements ActionListener { JTextField loanAmount, loanTerm;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MortgageCalculator implements ActionListener {
JTextField loanAmount, loanTerm;
JFrame jf;
public static void main(String[] args) {
// TODO Auto-generated method stub
mygui mg = new mygui();
mg.initUIPanel();
}
public void initUIPanel() {
jf = new JFrame();
jf.setTitle("my gui");
jf.setLocation(300, 400);
jf.setSize(400, 500);
jf.setVisible(true);
jf.setResizable(false);
jf.show();
JPanel panel = new JPanel();
panel.setLayout(null);
loanAmount = new JTextField(15);
loanAmount.setBounds(170, 20, 125, 20);
loanTerm = new JTextField(15);
loanTerm.setBounds(170, 60, 125, 20);
panel.add(loanAmount);
panel.add(loanTerm);
jf.add(panel, "Center");
}
}
问题是它只显示帧,而不显示txtboxs。我只能在最大化帧一次后才能看到框。如果再次最小化它,那么我仍然可以看到它们,但不是一开始。我做错了什么?尝试摆脱这个问题,这样JPanel将使用默认的FlowLayout管理器
panel.setLayout(null);
您可以在这里阅读更多->您在哪里将面板添加到
JFrame
?请向我们展示所有必要的代码。添加所有内容后,请致电setVisible(true)
。我更改了代码。(我的意思是添加更多)。感谢@Robin的评论;使用布局,而不是setBounds
。谢谢朋友们。成功了。最后,我再次为frame添加了setVisible(true)。它成功了。我真的非常感谢你们的帮助。谢谢你,罗宾。谢谢垃圾神(也谢谢你编辑了我的台词)。这是一个有价值的评论,但不是答案。试过了。但这很糟糕。整个结构乱七八糟。