I'm developing Java application using NetBeans. I have 5 JTextFields
and 2 JTextArea
in JFrame
. I want to clear them at once using a loop. How can it be done?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Iterate over all of the components and set the text of all JTextField
and JTextArea
objects to an empty String:
//Note: "this" should be the Container that directly contains your components
//(most likely a JPanel).
//This won't work if you call getComponents on the top-level frame.
for (Component C : this.getComponents())
{
if (C instanceof JTextField || C instanceof JTextArea){
((JTextComponent) C).setText(""); //abstract superclass
}
}
回答2:
The appropriate code should be this one
Component[] components = jframe.getContentPane().getComponents();
for (Component component : components) {
if (component instanceof JTextField || component instanceof JTextArea) {
JTextComponent specificObject = (JTextComponent) component;
specificObject.setText("");
}
}