如果您有JPanel
,则可以通过两种方式添加JTextField
:
方式一:
JTextField myTextField = new JTextField(10);
JPanel myPanel = new JPanel();
myPanel.add(myTextField);
方式二:
JPanel myPanel = new JPanel();
myPanel.add(new JTextField(10));
我不知道,如何调用两个方式(匿名JTextField
,内部JTextField
,......?),所以我没有找到任何关于它的信息。
使用第二种方式时,我不知道如何在创建时禁用JTextField
:
myPanel.add(new JTextField(10).setEnabled(false));
无法处理错误The method add(Component) in the type Container is not applicable for the arguments (void)
。
那么在创建/添加时可以更改JTextField
吗?
答案 0 :(得分:2)
为匿名类提供一个非静态初始化程序并在那里禁用该字段:
myPanel.add(new JTextField(10) {
{ setEnabled(false); }
});
或者如果所有必须在一行上:
myPanel.add(new JTextField(10) {{ setEnabled(false); }});