以下是使用文本字段创建框架的代码:
static void showteacherDel()
{
JFrame frame3 = new JFrame();
frame3.setSize(640,480);
JPanel pn = new JPanel();
pn.setSize(640,480);
frame3.add(pn);
frame3.setResizable(false);
JTextField tf = new JTextField();
tf.setSize(300,500);
Component add = pn.add(tf);
//frame3.pack();
frame3.setVisible(true);
}
}
现在问题就在于此。您看到我创建了一个面板,然后将其文本字段添加到其中。
原因是我的文本字段,无论我设置的大小,都产生了整个框架。
所以我创建了一个面板并向其添加了文本字段。
但无论我给出的是什么尺寸,它都会显示一个点对象,它实际上是一个文本字段。
答案 0 :(得分:1)
主要问题是您似乎不了解组件是如何通过布局管理API布局的,例如,如果我们看一下我们可以看到的代码:
JFrame frame3=new JFrame();
frame3.setSize(640,480);
JPanel pn=new JPanel();
// Pointless, as the JFrame is using a `BorderLayout`
// so the component will be the available size of it's parent
// container...
//pn.setSize(640,480);
frame3.add(pn);
frame3.setResizable(false);
JTextField tf=new JTextField();
// Pointless, as pn is using a `FlowLayout` so the
// text field will be laid out using it's preferred size
//tf.setSize(300,500);
// Provide a sizing hint, in combination with the fields
// font...
tf.setColumns(25);
Component add = pn.add(tf);
//frame3.pack();
frame3.setVisible(true);
我不确定为什么你想要JTextField
到500
像素高,也许你想要一个JTextArea
?
详细了解Laying Out Components Within a Container了解更多详情。
答案 1 :(得分:1)
试试这段代码:
JTextField tf = new JTextField(10);
我在支架中添加了10个尺寸。
答案 2 :(得分:0)
你可以使用tf.setText("你的文字");
将它添加到面板中,然后将该面板添加到您的框架中然后设置为可见(true)然后它将明确可见