【发布时间】:2015-02-03 16:58:51
【问题描述】:
我是 JFrame、组件等方面的新手,但我正在尝试更改特定文本字段的大小,以便您可以实际看到您放入其中的内容。代码如下:
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class InterestCalculator extends JFrame{
private static final long serialVersionUID = 1L;
JLabel desc = new JLabel("This is a simple interest calculator.\n"
+ " Enter three fields to get the fourth.");
JLabel inteLabel = new JLabel("\nInterest: ");
JTextField inte = new JTextField();
public static void main(String [] args) {
InterestCalculator comp = new InterestCalculator();
comp.FrameHandler();
}
public void FrameHandler() {
setSize(500, 500);
setTitle("Template");
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setLayout(new FlowLayout());
add(desc);
add(inteLabel);
add(inte);
inte.setSize(new Dimension(100,15));
validate();
}
}
这是出来的:http://i.imgur.com/SoOEMNT.png 那么,我该如何解决呢?
【问题讨论】:
-
如果您有多个问题,请分别提出。
-
“奖励:为以后节省一些时间,..” 现在问一个单独的问题。 SO 是一个问答网站,每个线程都应该有一个特定的问题,而不是帮助台。
-
顺便说一句 - 添加组件后将
setSize(500, 500);替换为pack()。第一个只是猜测 GUI 需要多大。第二个将导致大小恰好与它需要的一样大。 -
不要使用验证。相反,
setVisible(...)语句应该是在将所有组件添加到框架之后执行的最后一个语句。另外,您应该在 setVisible(...); 之前调用pack();
标签: java swing resize jframe jtextfield