我问一下。 我在Netbeans的一个java项目中工作。我在JFrameForm中创建了一个JFrameForm(设计模式),有五(5)个JPanel。
我找到了一个方法来启用/禁用Jpanel中的所有组件。的工作原理。
private void changeState(){
for(Component c : mypanel.getComponents()){
c.setEnabled(false);
}
}
//mypanel it's one of a five panels in JFrameForm.
//I would like pass all the JPanel as parameters
我正在尝试编写一个方法,我可以传递像参数一样,只是我调用方法时需要的JPanel。你能救我吗?
我试试这个,但是不行:
private void changeState(JPanel p){
for(Component c : p.getComponents()){
c.setEnabled(false);
}
}
如果答案非常简单,我很抱歉。我是JAVA和这个社区的初学者。我希望你能帮助我。
答案 0 :(得分:1)
但它确实有效!当我运行以下代码(包含您的方法)时,它给我2 x true,然后2 x false。所以方法很好。
public class Panelik extends JFrame {
JPanel panel;
JLabel label1, label2;
public Panelik() {
panel = new JPanel();
label1 = new JLabel();
label2 = new JLabel();
panel.add(label1);
panel.add(label2);
System.out.println(label1.isEnabled());
System.out.println(label2.isEnabled());
changeState(panel);
System.out.println(label1.isEnabled());
System.out.println(label2.isEnabled());
}
public void changeState(JPanel p) {
for(Component c : p.getComponents()) {
c.setEnabled(false);
}
}
public static void main(String[] args) {
Panelik panelik = new Panelik();
}
}