基于 SWING 我做了 2个组件 一个是 plane1.java 一个是 palne2.java 然后都放在一个frame里面,设置了plane2不可见,plane1上有个按钮,我想点击的时候 让plane2可见。
怎么搞阿,事件我写好了,就是不知道处理程序怎么写,怎么在plane1里面控制plane2呢,我快急死了。求高手指教
怎么搞阿,事件我写好了,就是不知道处理程序怎么写,怎么在plane1里面控制plane2呢,我快急死了。求高手指教
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class Test extends JFrame {
private JButton button_1 = null;
private JButton button_2 = null;
private JPanel pane = null;
private JPanel pane_1 = null;
private JPanel pane_2 = null; public Test() {
pane_1 = new JPanel();
pane_1.setBackground(new Color(255, 0, 0));
pane_2 = new JPanel();
pane_2.setBackground(new Color(0, 255, 0));
button_1 = new JButton("换成JPanel_2");
button_1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
pane_1Topane_2();
}});
pane_1.add(button_1);
button_2 = new JButton("换成JPanel_1");
button_2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
pane_2Topane_1();
}});
pane_2.add(button_2);
pane = (JPanel)this.getContentPane();
pane.add(pane_1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300, 200);
this.setVisible(true);
}
private void pane_1Topane_2(){
pane.remove(pane_1);
pane.add(pane_2);
pane.updateUI();
}
private void pane_2Topane_1(){
pane.remove(pane_2);
pane.add(pane_1);
pane.updateUI();
} public static void main(String[] arg) {
new Test();
}
}
remove好象没用阿,我先add pane_1 然后再remove pane_1 再add pane_2的时候,pane1 还在上面哈,怎么回事
pane.remove(pane_2);
pane.add(pane_1);
pane.updateUI();
pane2 的加载:
pane.remove(pane_1);
pane.add(pane_2);
pane.updateUI(); 测试结果,都可以正常的加载 pane1 和pane2 ,但是都不能卸载pane_1 和 pane_2 求解