当前位置: 代码迷 >> Eclipse >> java中如何实现通过鼠标事件改变同一个JFrame中面板的内部所有组件,从而实现功能转变
  详细解决方案

java中如何实现通过鼠标事件改变同一个JFrame中面板的内部所有组件,从而实现功能转变

热度:49   发布时间:2016-04-23 13:40:55.0
java中怎么实现通过鼠标事件改变同一个JFrame中面板的内部所有组件,从而实现功能转变!
希望看到这样的情况:在菜单中选择“查询”在JFrame中显示的是有关查询的交互界面,而当我选择“插入”时在JFrame出现有关插入的交互界面!!
附上测试程序(没有实现!):
package allen;
import javax.swing.*;
public class pane1 {
JPanel panel;
  JButton button1,button2;

public pane1()


panel=new JPanel();
panel.setSize(300,300);
button1=new JButton("确定");
button2=new JButton("取消");
panel.add(button1);
panel.add(button2);
panel.setVisible(true);
}
/*public static void main(String[] args)
{
pane1 pa=new pane1();
JFrame frame=new JFrame();
frame.add(pa.panel);
frame.setSize(700,450);
frame.setLocation(100,100);
frame.setVisible(true);
}*/

}
。。。。。。。。。。。
package allen;
import java.awt.*;
import javax.swing.*;

import java.awt.event.*;
public class mainpanel implements ActionListener {
JFrame frame;
JPanel panel1,panel2,panel3;
JButton button1,button2;
public mainpanel()
{
frame=new JFrame();
panel1=new JPanel();
panel2=new JPanel();
panel3=new JPanel();
panel3.setLayout(new BorderLayout());
button1=new JButton("测试按钮1");
button2=new JButton("测试按钮2");
panel2.add(button1);
panel2.add(button2);
frame.add(panel1,"North");
frame.add(panel2,"South");
frame.add(panel3,"Center");

frame.setSize(700,450);
frame.setLocation(100,100);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button1)
{
panel3.removeAll();
pane1 pa=new pane1();
panel3.add(pa.panel);
  //此处再加入一个刷新方法
}
if(e.getSource()==button2)
{

}
}

public static void main(String[] args)
{
new mainpanel();
}

}


请各位前辈帮帮忙了!

------解决方案--------------------
可以,不难。
把有关查询的交互界面和有关插入的交互界面分别写到一个panel上去,对jframe的contentpane设置cardlayout,切换菜单的时候切换carlayout里边当前显示的交互界面。
  相关解决方案