java - 如何将 JPanel 作为参数传递给方法?

标签 java parameters jframe jpanel parameter-passing

我问一下。 我正在 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 和这个社区的初学者。我希望你能帮助我。

最佳答案

但是它确实有效!当我运行以下代码(包含您的方法)时,它给出 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();
    }
}

关于java - 如何将 JPanel 作为参数传递给方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41782246/

相关文章:

Java Swing - 可滚动面板

java - 与 Jackcess 匹配的列数据子字符串

java - 如何以编程方式将用户帐户添加到 openDS?

Javascript - 具有可选参数作为对象的函数?

java - JFrame 不显示按钮或背景颜色

Java切换jpanels和新面板没有响应

java - 使用 glide 加载图像失败

java - Swagger 递归地解决类型的依赖关系(无限循环)

Objective-C方法参数问题

c++ - 参数引用有物理变量吗?