请帮我解决这个问题。
如何从不同的类创建JButton,甚至可能吗?
第一个按钮在这里,第二个按钮不是:
import javax.swing.JButton;
import javax.swing.JFrame;
public class Source {
public static void main(String[] args){
JFrame jf = new JFrame();
jf.setLayout(null);
jf.setSize(640, 360);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jb = new JButton("first button");
jb.setBounds(50, 50, 110, 20);
jf.add(jb);
jf.add(new Button());
}
}
class Button extends JButton {
public Button(){
JButton jb = new JButton("second button");
jb.setBounds(0, 0, 110, 20);
}
}
提前谢谢你。 最好的问候。
答案 0 :(得分:4)
在非静态类方法中执行的代码使用隐式this引用操作,引用您创建的实例并使用(或者在构造函数的情况下,对您正在创建的内容的引用)调用这些方法,所以你会执行以下操作来修复您的代码,方法调用在此处引用您在“jf.add(new Button());”上创建的“new Button()”;“:
更改
JButton jb = new JButton("second button");
jb.setBounds(0, 0, 110, 20);
到
setText("second button");
setBounds(0, 0, 110, 20);