【新手提问】为什么我从别的类调过来的JPanel,显示的时候显示一下,就消失了呢?

coolhty 2008-02-02 12:36:08
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import javax.swing.BorderFactory;

public class MainPage extends MouseAdapter{
JFrame f;
JPanel pnlleft;
JPanel pnlright;
JButton btninsert;
JButton btnselects;
JButton btndelete;
JButton btnselectall;
JButton btnamend;
ImageIcon icon;
Cursor hand;
public MainPage(){
try{
f.setDefaultLookAndFeelDecorated(true);
}catch(Exception e){
e.printStackTrace();
}
f = new JFrame("学生管理系统");
icon = new ImageIcon(".\\img\\lblbg1.gif");
pnlleft = new JPanel();
pnlright = new JPanel();
btnselectall = new JButton(new ImageIcon(".\\img\\selectall.jpg"));
btninsert = new JButton(new ImageIcon(".\\img\\insert.jpg"));
btndelete = new JButton(new ImageIcon(".\\img\\delete.jpg"));
btnamend = new JButton(new ImageIcon(".\\img\\amend.jpg"));
btnselects = new JButton(new ImageIcon(".\\img\\selects.jpg"));
// f.setResizable(false);
}
public void action(){
Toolkit tk=Toolkit.getDefaultToolkit();
Image cursors=tk.getImage(".\\img\\mouse.gif");
hand=tk.createCustomCursor(cursors,new Point(0,0),"cursor");
f.setCursor(hand);
setAttribute();
f.setVisible(true);
f.setLayout(null);
f.setSize(new Dimension(500,400));
pnlleft.setVisible(true);
pnlleft.add(btnselectall);
pnlleft.add(btninsert);
pnlleft.add(btndelete);
pnlleft.add(btnamend);
pnlleft.add(btnselects);
f.add(pnlleft);
pnlleft.setOpaque(false);
f.add(pnlright);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent w){
System.exit(0);
}
});
btnselectall.addMouseListener(this);
btninsert.addMouseListener(this);
btndelete.addMouseListener(this);
btnamend.addMouseListener(this);
btnselects.addMouseListener(this);
}
public void setAttribute(){
pnlleft.setLayout(null);
pnlleft.setVisible(true);
pnlleft.setBounds(new Rectangle(10,5,120,320));
pnlleft.setBorder(BorderFactory.createTitledBorder("功能导航"));
pnlright.setVisible(true);
pnlright.setBounds(new Rectangle(140,5,340,320));
pnlright.setBorder(BorderFactory.createTitledBorder("编辑区域"));
btnselectall.setBounds(new Rectangle(15,25,90,40));
btnselectall.setBorder(null);
btninsert.setBounds(new Rectangle(15,90,90,40));
btninsert.setBorder(null);
btndelete.setBounds(new Rectangle(15,150,90,40));
btndelete.setBorder(null);
btnamend.setBounds(new Rectangle(15,210,90,40));
btnamend.setBorder(null);
btnselects.setBounds(new Rectangle(15,270,90,40));
btnselects.setBorder(null);
}
public static void main(String[] args) {
new MainPage().action();
new Conn().close();
}
public void mouseEntered(MouseEvent m){
f.setCursor(Cursor.HAND_CURSOR);
if(m.getSource().equals(btnselectall)){
btnselectall.setIcon(new ImageIcon(".\\img\\selectallout.jpg"));
}else if(m.getSource().equals(btninsert)){
btninsert.setIcon(new ImageIcon(".\\img\\insertout.jpg"));
}else if(m.getSource().equals(btndelete)){
btndelete.setIcon(new ImageIcon(".\\img\\deleteout.jpg"));
}else if(m.getSource().equals(btnamend)){
btnamend.setIcon(new ImageIcon(".\\img\\amendout.jpg"));
}else if(m.getSource().equals(btnselects)){
btnselects.setIcon(new ImageIcon(".\\img\\selectsout.jpg"));
}
}
public void mouseExited(MouseEvent m){
f.setCursor(hand);
if(m.getSource().equals(btnselectall)){
btnselectall.setIcon(new ImageIcon(".\\img\\selectall.jpg"));
}else if(m.getSource().equals(btninsert)){
btninsert.setIcon(new ImageIcon(".\\img\\insert.jpg"));
}else if(m.getSource().equals(btndelete)){
btndelete.setIcon(new ImageIcon(".\\img\\delete.jpg"));
}else if(m.getSource().equals(btnamend)){
btnamend.setIcon(new ImageIcon(".\\img\\amend.jpg"));
}else if(m.getSource().equals(btnselects)){
btnselects.setIcon(new ImageIcon(".\\img\\selects.jpg"));
}
}
public void mousePressed(MouseEvent m){
f.setCursor(Cursor.HAND_CURSOR);
if(m.getSource().equals(btnselectall)){
btnselectall.setIcon(new ImageIcon(".\\img\\selectallover.jpg"));
}else if(m.getSource().equals(btninsert)){
btninsert.setIcon(new ImageIcon(".\\img\\insertover.jpg"));
}else if(m.getSource().equals(btndelete)){
btndelete.setIcon(new ImageIcon(".\\img\\deleteover.jpg"));
}else if(m.getSource().equals(btnamend)){
btnamend.setIcon(new ImageIcon(".\\img\\amendover.jpg"));
}else if(m.getSource().equals(btnselects)){
btnselects.setIcon(new ImageIcon(".\\img\\selectsover.jpg"));
}
}
public void mouseReleased(MouseEvent m){
f.setCursor(Cursor.HAND_CURSOR);
if(m.getSource().equals(btnselectall)){
btnselectall.setIcon(new ImageIcon(".\\img\\selectall.jpg"));
}else if(m.getSource().equals(btninsert)){
btninsert.setIcon(new ImageIcon(".\\img\\insert.jpg"));
}else if(m.getSource().equals(btndelete)){
btndelete.setIcon(new ImageIcon(".\\img\\delete.jpg"));
}else if(m.getSource().equals(btnamend)){
btnamend.setIcon(new ImageIcon(".\\img\\amend.jpg"));
}else if(m.getSource().equals(btnselects)){
btnselects.setIcon(new ImageIcon(".\\img\\selects.jpg"));
}
}
public void mouseClicked(MouseEvent m){
if(m.getSource().equals(btnselectall)){
Selectall all = new Selectall();
pnlright.add(all.getJscrollpane());
pnlright.setBorder(BorderFactory.createTitledBorder("所有学员"));
f.setSize(new Dimension(660,400));
pnlright.setSize(new Dimension(500,320));
}else if(m.getSource().equals(btninsert)){//就是这里我调用的别的类的JPanel..
Insert insert = new Insert();
insert.action();
f.setSize(new Dimension(500,410));
pnlright.setSize(new Dimension(290,390));
pnlright.add(insert.getpnl());
}
}
}


闪了一下就不见了..

麻烦前辈指点一下..谢谢.
...全文
62 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hunan0313 2008-02-02
  • 打赏
  • 举报
回复
f.setVisible(true);把这一行移到方法的最后面
public void action(){
Toolkit tk=Toolkit.getDefaultToolkit();
Image cursors=tk.getImage(".\\img\\mouse.gif");
hand=tk.createCustomCursor(cursors,new Point(0,0),"cursor");
f.setCursor(hand);
setAttribute();

f.setLayout(null);
f.setSize(new Dimension(500,400));
pnlleft.setVisible(true);
pnlleft.add(btnselectall);
pnlleft.add(btninsert);
pnlleft.add(btndelete);
pnlleft.add(btnamend);
pnlleft.add(btnselects);
f.add(pnlleft);
pnlleft.setOpaque(false);
f.add(pnlright);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent w){
System.exit(0);
}
});
btnselectall.addMouseListener(this);
btninsert.addMouseListener(this);
btndelete.addMouseListener(this);
btnamend.addMouseListener(this);
btnselects.addMouseListener(this);
f.setVisible(true);
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧