希望看到这样的情况:在菜单中选择“查询”在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里边当前显示的交互界面。