java中怎么获取一个jpanel上的某个组件对象呢,比如我想取得这个panel上的一个按钮并把它设置成不可点击

如题所述

控制按钮的实例

比如:
JButton button = new JButton ();
JPanel panel = new JPanel();
panel.add(button );

button.setEnabled(false);
这样按钮就是不可点击的了。

如果你是
panel.add(new JButton ());
这样就麻烦了,虽然你可以在panel里取到你添加的所有组件,但你还要判断是那一个按钮。
如果是这样,你还是改成第一种那样,方便。追问

我正是想知道如何取得panel里面的组件。。。 求教啊

追答

这样啊
那你看一下下边的代码吧。这样可以取出
JPanel 里所添加的控件。
Component 是所有控件的基类。
看看取出的是不是你所要的对象类型 再进行强转,
总之,这样的做法挺麻烦的。

JPanel panel = new JPanel();
int count = panel.getComponentCount();
for (int i = 0; i < count; i++) {
Component comp = panel.getComponent(i);
if(comp instanceof JButton){
JButton btn = (JButton)comp;
btn.setEnabled(false);
}

if(comp instanceof JTextField){

}
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答