我有一个Java程序,其中包含一个从JFrame继承的类Application。
我想显示一条消息,询问用户单击窗口右上角的X按钮是否要退出程序。
这是我目前的代码:
我从网上找到的教程中得到了这段代码。我自己编写了WindowClosing事件处理程序。但是,我在注册窗口侦听器(addWindowListener)时遇到问题。它告诉我WindowAdapter是抽象的,不能实例化。
请问我怎样才能解决这个问题?
好的,再试一次。
无法创建新的WindowAdapter,因为WindowAdapter是抽象的。抽象类不能被实例化。您需要创建WindowAdapter的子类,并将其抽象方法实现为public。
http://docs.oracle.com/javase/7/docs/api/java/awt/event/WindowAdapter.html
我在两分钟内得到这个。。。。
首先是在Exit_on_close中设置j帧默认关闭事件。其次,创建一个名为“窗口关闭事件处理程序”的类,然后在i nit阶段调用它。
private void WindowClosingEventHandler(){ addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { int confirmed = JOptionPane.showConfirmDialog(null, "Are you sure you want to exit this application?", "Exit Program Message Box",JOptionPane.YES_NO_OPTION);
if (confirmed == JOptionPane.YES_OPTION) {
try{
String login=txtuserid.getText();
Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/repair", "root", "");
Statement st = conn.createStatement();
String update = "UPDATE user set User_Status=0 where UserID='"+ login +"'";
st.executeUpdate(update);
dispose();
Login2 dialog = new Login2(new javax.swing.JFrame(), true);
dialog.setVisible(true);
}catch(SQLException | HeadlessException q){
JOptionPane.showMessageDialog(null, q);
}
System.exit(0);
}
else{
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
}
}
});
}
基本上,你说得几乎正确。有几件东西拼错了,还有一个拼写错误。
首先删除窗口关闭
方法(它是窗口
,而不是窗口
),然后替换添加窗口监听器(新的WindowAdapter())
使用下面的代码
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int confirmed = JOptionPane.showConfirmDialog(null,
"Are you sure you want to exit the program?", "Exit Program Message Box",
JOptionPane.YES_NO_OPTION);
if (confirmed == JOptionPane.YES_OPTION) {
dispose();
}
}
});
问题内容: 我有一个Java程序,其中包含一个从JFrame继承的 Application 类。 我想显示一条消息,询问用户单击窗口右上方的X按钮是否要退出程序。 到目前为止,这是我的代码: 我从网上找到的教程中获得了此代码。我自己编写了WindowClosing事件处理程序的代码。但是,我在注册窗口侦听器(addWindowListener)时遇到麻烦。它告诉我WindowAdapter是抽象的
所以,我想用JPanel制作一个菜单屏幕,我让它工作了,但是当我按下开始按钮时,它不会关闭菜单窗口,它只是创建一个新窗口,我如何保持它在同一个窗口上,而不关闭/打开菜单窗口,或者我想关闭菜单窗口并打开游戏窗口(JPanel),当我按下开始按钮时。 这是主课。JAVA 这里是Menu.java班 编辑:感谢@威士忌蜘蛛的帮助,我了解到我做了2帧,没有正确引用它们。但是现在我解决了这个问题,我的监听器
问题内容: 我有一个按钮添加到JTabbedPane添加到JPanel与这样的事情: 我想在按钮按下时关闭窗口。我尝试这样做: 但这给了我 我如何在按下按钮时关闭窗口 问题答案: 获取顶层窗口: 确保已将JFrame的默认关闭操作设置为(首选)或(首选)。 如果有可能会从JMenuItem调用此方法,那么除非您首先测试组件的父级是JPopupMenu还是JToolBar,否则它将不起作用。如果是这
问题内容: 我不知道如何使用此代码: 使用x按钮关闭程序。 问题答案: 你需要线 因为按下X按钮时JFrame的默认行为等效于 因此,几乎所有时候,创建JFrame时都需要手动添加该行 我目前指的是like 中的常量,而不是像先前那样直接声明的常量更能反映意图。
问题内容: 我添加了一个窗口状态侦听器,如下所示: 但是,当我使用X关闭按钮时,不会调用该事件。我认为这与netbean jdesktop框架有关。但是我找不到问题所在。谢谢你的帮助。 问题答案: 是界面的一部分。使用代替。