2013-01-14 121 views
0
String[] objectName = { //these are all names for JButtons 
      "firstBtn", 
      "secondBtn", 
      "thirdBtn", 
      "coin1", 
      "coin5", 
      "coin25", 
      "coin100" 
    };  

for (int k=0;k<objectName.length;k++){ 
    objectName[o].setOpaque(false); 
    objectName[o].setContentAreaFilled(false); 
    objectName[o].setBorderPainted(false); 
} 

我试图用这种方式缩短代码,因为我认为它会更容易。但它不起作用。有没有一种方法,使此代码的工作或我一定要一次又一次地写同样的事情每个JButton的在一个循环中设置多个不同JButton的属性

回答

3

,你可以继承JButton并做到以下几点,

public class MyButton extends JButton{ 
    public MyButton(){ 
     setOpaque(false); 
     setContentAreaFilled(false); 
     setBorderPainted(false); 
    } 
} 

,然后创建实例,

JButton firstBtn = new MyButton(); 
. 
. 
+3

从我记得在GUI派生类构造函数中调用super()构造函数以确保默认的GUI操作是一种很好的做法。但我可能是错的。 – Pshemo

+0

这个工作,但它阻止我像往常一样初始化它(例如JButton btn = new JButton(“EXAMPLE”);) – Exikle

+0

@Pshemo你能解释一下吗? – Exikle