java中如何把一个面板封装成一个类添加到窗口?
设计了一个窗口有四个面板,每个面板有几十个组件,在一个类中太乱了,想把每个面板独立到一个类发现自己不会了,类继承JPanel要在面板内部添加组件写监听,不继承就要实例化,...
设计了一个窗口有四个面板,每个面板有几十个组件,在一个类中太乱了,想把每个面板独立到一个类发现自己不会了,类继承JPanel要在面板内部添加组件写监听,不继承就要实例化,把一个对象add到窗口?
展开
2个回答
展开全部
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Demo1 {
/*
* 在主方法中创建窗口对象。
* 画板里的组件和监听要在画板类里面写好。
* 主方法只管创建不同的画板对象往里添加就行了。
*
*/
public static void main(String[] args) {
MyFrame frame = new MyFrame();
MyPanelOne panel1 = new MyPanelOne();
frame.add(panel1);
}
}
class MyFrame extends JFrame { // 主界面
public MyFrame() {
this.setTitle("主界面");
this.setSize(500, 500);
this.setVisible(true);
}
void addPanel(MyPanelOne panel) { // 传递画板的函数
this.setContentPane(panel);
this.setVisible(true);
}
}
class MyPanelOne extends JPanel { // 画板1
public MyPanelOne() {
createButton();
}
private void createButton() {
JButton b1 = new JButton("按钮一");
this.add(b1);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("hello");
}
});
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询