java dispose不起作用
我想点击对话框中的关闭按钮,来关闭对话框,怎么不起作用importjava.awt.*;importjavax.swing.*;importjava.awt.event....
我想点击对话框中的关闭按钮,来关闭对话框,怎么不起作用
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MasterDialog extends JDialog implements ActionListener{
private JDialog dia=null; //**
private JLabel nameL,stockL,keyWordL;
private JTextField nameT,stockT,keyWordT;
private JButton closeBtn;
private JFrame jf;
public MasterDialog(JFrame jf){
nameL=new JLabel("品名");
stockL=new JLabel("库存");
keyWordL=new JLabel("关键字");
//
nameT=new JTextField("");
stockT=new JTextField("");
keyWordT=new JTextField("");
//
closeBtn=new JButton("关闭");
dia=new JDialog(jf,"管理面板",true);
dia.getContentPane().setLayout(new GridLayout(3,3));
dia.getContentPane().add(nameL);
dia.getContentPane().add(stockL);
dia.getContentPane().add(keyWordL);
dia.getContentPane().add(nameT);
dia.getContentPane().add(stockT);
dia.getContentPane().add(keyWordT);
dia.getContentPane().add(closeBtn);
dia.setSize(500,150);
dia.setLocation(350,350);
dia.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==closeBtn){
dia.dispose(); //**********************************************************
}
}
} 展开
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MasterDialog extends JDialog implements ActionListener{
private JDialog dia=null; //**
private JLabel nameL,stockL,keyWordL;
private JTextField nameT,stockT,keyWordT;
private JButton closeBtn;
private JFrame jf;
public MasterDialog(JFrame jf){
nameL=new JLabel("品名");
stockL=new JLabel("库存");
keyWordL=new JLabel("关键字");
//
nameT=new JTextField("");
stockT=new JTextField("");
keyWordT=new JTextField("");
//
closeBtn=new JButton("关闭");
dia=new JDialog(jf,"管理面板",true);
dia.getContentPane().setLayout(new GridLayout(3,3));
dia.getContentPane().add(nameL);
dia.getContentPane().add(stockL);
dia.getContentPane().add(keyWordL);
dia.getContentPane().add(nameT);
dia.getContentPane().add(stockT);
dia.getContentPane().add(keyWordT);
dia.getContentPane().add(closeBtn);
dia.setSize(500,150);
dia.setLocation(350,350);
dia.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==closeBtn){
dia.dispose(); //**********************************************************
}
}
} 展开
4个回答
展开全部
应该是由于没有设置closeBtn的ActionListener造成的
closeBtn.addActionListener(this);
closeBtn.addActionListener(this);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一句
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);加在构造方法里
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);加在构造方法里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(e.getSource()==closeBtn){
System.exit(0);
}
追问
我只想关闭对话框,而不是窗口
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你没给按钮加监听
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询