我问一下。 我正在 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/