我的界面是用SWING做的,布局是BorderLayout,有一个jPanel1放在当中的位置.并且把jPanel1改了Color在这个jPanel1中有7个JButton6个JLable.现在出现一个问题,我点击其中的一个JButton会产生一个窗口,这个窗口是继承自JInternalFrame,当我关闭这个窗口时之前的jPanel1不会刷新了,我打开之后是用remove把jPanel1删除的.关闭的时候我又重新add了!说不清楚,我放代码上来吧.刚学java帮帮忙!谢谢!
下面是主程序文件MainFrame.java
下面是主程序文件MainFrame.java
package view;import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JToolBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.SwingConstants;
import java.awt.Rectangle;
import javax.swing.JLabel;
import java.awt.SystemColor;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
import java.util.Timer;
import java.util.TimerTask;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDesktopPane;public class MainFrame extends JFrame {
private static final int TOOLBAR_BTN_COUNT = 7;
BorderLayout borderLayout1 = new BorderLayout();
JMenuBar jMenuBar1 = new JMenuBar();
JToolBar jToolBar1 = new JToolBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
ImageIcon arraw1 = new ImageIcon(".\\icon\\arrow1.gif");
ImageIcon arraw2 = new ImageIcon(".\\icon\\arrow2.gif");
ImageIcon arraw3 = new ImageIcon(".\\icon\\arrow3.gif");
ImageIcon arraw4 = new ImageIcon(".\\icon\\arrow4.gif");
ImageIcon arraw5 = new ImageIcon(".\\icon\\arrow5.gif");
ImageIcon arraw6 = new ImageIcon(".\\icon\\arrow6.gif"); ImageIcon bt0Icon = new ImageIcon(".\\icon\\center0.gif");
ImageIcon bt1Icon = new ImageIcon(".\\icon\\center1.gif");
ImageIcon bt2Icon = new ImageIcon(".\\icon\\center2.gif");
ImageIcon bt3Icon = new ImageIcon(".\\icon\\center3.gif");
ImageIcon bt4Icon = new ImageIcon(".\\icon\\center4.gif");
ImageIcon bt5Icon = new ImageIcon(".\\icon\\center5.gif");
ImageIcon bt6Icon = new ImageIcon(".\\icon\\center6.gif");
ImageIcon[] tbIcon = new ImageIcon[TOOLBAR_BTN_COUNT];
JButton toobarBtn[] = new JButton[TOOLBAR_BTN_COUNT];
JPanel jPanel1 = new JPanel();
private String tbText[] = {" 药品零售 ", " 药品入库 ", "药品字典维护",
" 基本信息 ", " 用户管理 ", " 关于程序 ",
" 退出程序 "};
JDesktopPane desktopPane = new JDesktopPane();
JButton jButton1 = new JButton(bt0Icon);
JLabel jLabel1 = new JLabel();
JButton jButton2 = new JButton(bt1Icon);
JLabel jLabel2 = new JLabel();
JButton jButton3 = new JButton(bt1Icon);
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JButton jButton4 = new JButton(bt1Icon);
JButton jButton5 = new JButton(bt1Icon);
JButton jButton6 = new JButton(bt1Icon);
JButton jButton7 = new JButton(bt1Icon);
JPanel jPanel2 = new JPanel();
JLabel jLabel7 = new JLabel();
TitledBorder titledBorder1 = new TitledBorder("");
JLabel jLabel8 = new JLabel();
JLabel jLabel9 = new JLabel();
GridLayout gridLayout1 = new GridLayout();
Timer timer = new Timer();
TimerTask tt = new TimerTask() {
public void run() {
jLabel7.setText("当前时间:" +
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new
Date()));
}
}; public MainFrame() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception {
//初始化TOOBAR上的BUTTON
for (int i = 0; i < TOOLBAR_BTN_COUNT; i++) {
tbIcon[i] = new ImageIcon(".\\icon\\tb" + (i + 1) + ".gif");
toobarBtn[i] = new JButton(tbText[i], tbIcon[i]);
toobarBtn[i].setVerticalTextPosition(SwingConstants.BOTTOM);
toobarBtn[i].setHorizontalTextPosition(SwingConstants.CENTER);
jToolBar1.add(toobarBtn[i]);
//jToolBar1.add(new JSeparator());
} getContentPane().setLayout(borderLayout1);
this.getContentPane().setBackground(SystemColor.control);
this.setJMenuBar(jMenuBar1);
jMenu1.setText("药品销售");
jMenuItem1.setText("药品零售"); jPanel1.setBackground(new Color(192, 220, 192));
jPanel1.setLayout(null);
jButton1.setBounds(new Rectangle(352, 126, 150, 85));
jButton1.setToolTipText("");
jButton1.setText("药品库存");
jLabel1.setIcon(arraw1);
jLabel1.setBounds(new Rectangle(172, 48, 179, 112));
jButton2.setBounds(new Rectangle(23, 25, 150, 85));
jButton2.setToolTipText("");
jButton2.setText("药品零售");
jLabel2.setIcon(arraw2);
jLabel2.setBounds(new Rectangle(183, 189, 162, 112));
jButton3.setBounds(new Rectangle(24, 246, 150, 85));
jButton3.setToolTipText("");
jButton3.setIcon(bt2Icon);
jButton3.setText("药品批发");
jLabel3.setIcon(arraw3);
jLabel3.setBounds(new Rectangle(336, 223, 68, 145));
jLabel4.setIcon(arraw4);
jLabel4.setText("");
jLabel4.setBounds(new Rectangle(489, 227, 68, 145));
jLabel5.setIcon(arraw5);
jLabel5.setBounds(new Rectangle(517, 178, 149, 100));
jLabel6.setIcon(arraw6);
jLabel6.setText("");
jLabel6.setBounds(new Rectangle(517, 56, 152, 94));
jButton4.setBounds(new Rectangle(258, 371, 150, 85));
jButton4.setToolTipText("");
jButton4.setIcon(bt3Icon);
jButton4.setText("商家退货");
jButton5.setBounds(new Rectangle(485, 371, 150, 85));
jButton5.setToolTipText("");
jButton5.setIcon(bt4Icon);
jButton5.setText("顾客退货");
jButton6.setBounds(new Rectangle(666, 215, 150, 85));
jButton6.setToolTipText("");
jButton6.setIcon(bt5Icon);
jButton6.setText("药品字典");
jButton6.addActionListener(new MainFrame_jButton6_actionAdapter(this));
jButton7.setBounds(new Rectangle(666, 13, 150, 85));
jButton7.setToolTipText("");
jButton7.setIcon(bt6Icon);
jButton7.setText("药品入库");
jLabel7.setBorder(BorderFactory.createLoweredBevelBorder());
jLabel7.setText("当前时间:2008-2-12 21:42:59");
jPanel2.setLayout(gridLayout1);
jLabel8.setBorder(BorderFactory.createLoweredBevelBorder());
jLabel8.setText("操作员:超级用户");
jLabel9.setBorder(BorderFactory.createLoweredBevelBorder());
jLabel9.setToolTipText("");
jLabel9.setText("北大青鸟T78班");
this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
jPanel1.add(jButton1);
jPanel1.add(jButton2);
jPanel1.add(jLabel1);
jPanel1.add(jLabel2);
jPanel1.add(jLabel3);
jPanel1.add(jLabel6);
jPanel1.add(jLabel5);
jPanel1.add(jLabel4);
jPanel1.add(jButton3);
jPanel1.add(jButton4);
jPanel1.add(jButton5);
jPanel1.add(jButton6);
jPanel1.add(jButton7);
this.getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH);
jMenuBar1.add(jMenu1);
jMenu1.add(jMenuItem1);
this.getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
this.getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH); jPanel2.add(jLabel7, null);
jPanel2.add(jLabel8, null);
jPanel2.add(jLabel9, null);
timer.schedule(tt, 0, 1000); }
[code=Java]
package view;import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JToolBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.SwingConstants;
import java.awt.Rectangle;
import javax.swing.JLabel;
import java.awt.SystemColor;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
import java.util.Timer;
import java.util.TimerTask;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDesktopPane;public class MainFrame extends JFrame {
private static final int TOOLBAR_BTN_COUNT = 7;
BorderLayout borderLayout1 = new BorderLayout();
JMenuBar jMenuBar1 = new JMenuBar();
JToolBar jToolBar1 = new JToolBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
ImageIcon arraw1 = new ImageIcon(".\\icon\\arrow1.gif");
ImageIcon arraw2 = new ImageIcon(".\\icon\\arrow2.gif");
ImageIcon arraw3 = new ImageIcon(".\\icon\\arrow3.gif");
ImageIcon arraw4 = new ImageIcon(".\\icon\\arrow4.gif");
ImageIcon arraw5 = new ImageIcon(".\\icon\\arrow5.gif");
ImageIcon arraw6 = new ImageIcon(".\\icon\\arrow6.gif"); ImageIcon bt0Icon = new ImageIcon(".\\icon\\center0.gif");
ImageIcon bt1Icon = new ImageIcon(".\\icon\\center1.gif");
ImageIcon bt2Icon = new ImageIcon(".\\icon\\center2.gif");
ImageIcon bt3Icon = new ImageIcon(".\\icon\\center3.gif");
ImageIcon bt4Icon = new ImageIcon(".\\icon\\center4.gif");
ImageIcon bt5Icon = new ImageIcon(".\\icon\\center5.gif");
ImageIcon bt6Icon = new ImageIcon(".\\icon\\center6.gif");
ImageIcon[] tbIcon = new ImageIcon[TOOLBAR_BTN_COUNT];
JButton toobarBtn[] = new JButton[TOOLBAR_BTN_COUNT];
JPanel jPanel1 = new JPanel();
private String tbText[] = {" 药品零售 ", " 药品入库 ", "药品字典维护",
" 基本信息 ", " 用户管理 ", " 关于程序 ",
" 退出程序 "};
JDesktopPane desktopPane = new JDesktopPane();
JButton jButton1 = new JButton(bt0Icon);
JLabel jLabel1 = new JLabel();
JButton jButton2 = new JButton(bt1Icon);
JLabel jLabel2 = new JLabel();
JButton jButton3 = new JButton(bt1Icon);
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JButton jButton4 = new JButton(bt1Icon);
JButton jButton5 = new JButton(bt1Icon);
JButton jButton6 = new JButton(bt1Icon);
JButton jButton7 = new JButton(bt1Icon);
JPanel jPanel2 = new JPanel();
JLabel jLabel7 = new JLabel();
TitledBorder titledBorder1 = new TitledBorder("");
JLabel jLabel8 = new JLabel();
JLabel jLabel9 = new JLabel();
GridLayout gridLayout1 = new GridLayout();
Timer timer = new Timer();
TimerTask tt = new TimerTask() {
public void run() {
jLabel7.setText("当前时间:" +
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new
Date()));
}
}; public MainFrame() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception {
//初始化TOOBAR上的BUTTON
for (int i = 0; i < TOOLBAR_BTN_COUNT; i++) {
tbIcon[i] = new ImageIcon(".\\icon\\tb" + (i + 1) + ".gif");
toobarBtn[i] = new JButton(tbText[i], tbIcon[i]);
toobarBtn[i].setVerticalTextPosition(SwingConstants.BOTTOM);
toobarBtn[i].setHorizontalTextPosition(SwingConstants.CENTER);
jToolBar1.add(toobarBtn[i]);
//jToolBar1.add(new JSeparator());
} getContentPane().setLayout(borderLayout1);
this.getContentPane().setBackground(SystemColor.control);
this.setJMenuBar(jMenuBar1);
jMenu1.setText("药品销售");
jMenuItem1.setText("药品零售"); jPanel1.setBackground(new Color(192, 220, 192));
jPanel1.setLayout(null);
jButton1.setBounds(new Rectangle(352, 126, 150, 85));
jButton1.setToolTipText("");
jButton1.setText("药品库存");
jLabel1.setIcon(arraw1);
jLabel1.setBounds(new Rectangle(172, 48, 179, 112));
jButton2.setBounds(new Rectangle(23, 25, 150, 85));
jButton2.setToolTipText("");
jButton2.setText("药品零售");
jLabel2.setIcon(arraw2);
jLabel2.setBounds(new Rectangle(183, 189, 162, 112));
jButton3.setBounds(new Rectangle(24, 246, 150, 85));
jButton3.setToolTipText("");
jButton3.setIcon(bt2Icon);
jButton3.setText("药品批发");
jLabel3.setIcon(arraw3);
jLabel3.setBounds(new Rectangle(336, 223, 68, 145));
jLabel4.setIcon(arraw4);
jLabel4.setText("");
jLabel4.setBounds(new Rectangle(489, 227, 68, 145));
jLabel5.setIcon(arraw5);
jLabel5.setBounds(new Rectangle(517, 178, 149, 100));
jLabel6.setIcon(arraw6);
jLabel6.setText("");
jLabel6.setBounds(new Rectangle(517, 56, 152, 94));
jButton4.setBounds(new Rectangle(258, 371, 150, 85));
jButton4.setToolTipText("");
jButton4.setIcon(bt3Icon);
jButton4.setText("商家退货");
jButton5.setBounds(new Rectangle(485, 371, 150, 85));
jButton5.setToolTipText("");
jButton5.setIcon(bt4Icon);
jButton5.setText("顾客退货");
jButton6.setBounds(new Rectangle(666, 215, 150, 85));
jButton6.setToolTipText("");
jButton6.setIcon(bt5Icon);
jButton6.setText("药品字典");
jButton6.addActionListener(new MainFrame_jButton6_actionAdapter(this));
jButton7.setBounds(new Rectangle(666, 13, 150, 85));
jButton7.setToolTipText("");
jButton7.setIcon(bt6Icon);
jButton7.setText("药品入库");
jLabel7.setBorder(BorderFactory.createLoweredBevelBorder());
jLabel7.setText("当前时间:2008-2-12 21:42:59");
jPanel2.setLayout(gridLayout1);
jLabel8.setBorder(BorderFactory.createLoweredBevelBorder());
jLabel8.setText("操作员:超级用户");
jLabel9.setBorder(BorderFactory.createLoweredBevelBorder());
jLabel9.setToolTipText("");
jLabel9.setText("北大青鸟T78班");
this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
jPanel1.add(jButton1);
jPanel1.add(jButton2);
jPanel1.add(jLabel1);
jPanel1.add(jLabel2);
jPanel1.add(jLabel3);
jPanel1.add(jLabel6);
jPanel1.add(jLabel5);
jPanel1.add(jLabel4);
jPanel1.add(jButton3);
jPanel1.add(jButton4);
jPanel1.add(jButton5);
jPanel1.add(jButton6);
jPanel1.add(jButton7);
this.getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH);
jMenuBar1.add(jMenu1);
jMenu1.add(jMenuItem1);
this.getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
this.getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH); jPanel2.add(jLabel7, null);
jPanel2.add(jLabel8, null);
jPanel2.add(jLabel9, null);
timer.schedule(tt, 0, 1000); }
[/code]
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class YPDict extends JInternalFrame {
BorderLayout borderLayout1 = new BorderLayout();
private MainFrame mf;
public YPDict(MainFrame mf) { super("药品字典管理", true, true, true, true);
this.mf = mf;
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception { getContentPane().setLayout(borderLayout1);
this.addInternalFrameListener(new YPDict_this_internalFrameAdapter(this));
} public void this_internalFrameClosing(InternalFrameEvent e) {
mf.desktopPane.remove(this);
mf.getContentPane().add(mf.jPanel1, BorderLayout.CENTER);
mf.getContentPane().repaint();
mf.setVisible(true);
}
}
class YPDict_this_internalFrameAdapter extends InternalFrameAdapter {
private YPDict adaptee;
YPDict_this_internalFrameAdapter(YPDict adaptee) {
this.adaptee = adaptee;
} public void internalFrameClosing(InternalFrameEvent e) {
adaptee.this_internalFrameClosing(e);
}
}