this.addWindowListener(this);
  //按关闭按钮,啥事也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

3、实现windowClosing方法

* 关闭主窗口处理 @Override public void windowClosing(WindowEvent e) { int option = JOptionPane.showConfirmDialog( this 多媒体处理包括多媒体技术的描述及其实现的源代码还有他的图品作品import java .applet.AudioClip; import java x.swing.*; import java .awt.*; import java .awt.event.*; import java .net.*; // 声音播放程序 public class AudioPlayDemo extends JFrame implements ActionListener, ItemListener { boolean looping = false; //是否循环播放 String[] choics = { "chimes.wav", "start.wav" }; //声音文件名数组 URL file1 = getClass().getResource(choics[0]); //声音文件1 URL file2 = getClass().getResource(choics[1]); //声音文件2 AudioClip sound1 = java .applet.Applet.newAudioClip(file1); //声音剪辑对象1 AudioClip sound2 = java .applet.Applet.newAudioClip(file2); //声音剪辑对象2 AudioClip chosenClip = sound1; //选择的声音剪辑对象 JComboBox jcbFiles = new JComboBox(choics); //文件选择组合框 JButton playButton = new JButton("播放"); //播放按钮 JButton loopButton = new JButton("循环播放"); //循环播放按钮 JButton stopButton = new JButton("停止"); //停止播放按钮 JLabel status = new JLabel("选择播放文件"); //状态栏标签 JPanel controlPanel = new JPanel(); //控制面板用于包容按钮 Container container = getContentPane(); //获得 窗口 内容窗格 public AudioPlayDemo() { //构造器 super("声音播放程序"); //调用父类构造器设置 窗口 标题栏 jcbFiles.setSelectedIndex(0); //设置组合框选择项 jcbFiles.addItemListener(this); //为播放按钮添加项目监听器 //为播放按钮、循环播放按钮、停止播放按钮添加动作监听器 playButton.addActionListener(this); loopButton.addActionListener(this); stopButton.addActionListener(this); stopButton.setEnabled(false); //设置停止播放按钮不可用 //把播放按钮、循环播放按钮、停止播放按钮加入控制面板 controlPanel.add(playButton); controlPanel.add(loopButton); controlPanel.add(stopButton); //把文件选择组合框、控制面板、状态栏标签加入到 窗口 内容窗格 container.add(jcbFiles, BorderLayout.NORTH); container.add(controlPanel, BorderLayout.CENTER); container.add(status, BorderLayout.SOUTH); setSize(300, 130); //设置 窗口 大小 setVisible(true); //设置 窗口 可视 setDefaultCloseOperation( JFrame .EXIT_ON_CLOSE); // 关闭 窗口 时退出程序 //文件选择组合框 事件处理 public void itemStateChanged(ItemEvent e) { if (jcbFiles.getSelectedIndex() == 0) { chosenClip = sound1; } else { chosenClip = sound2; //按钮 事件处理 public void actionPerformed(ActionEvent event) { if (chosenClip == null) { status.setText("声音未载入"); return; //如果AudioClip对象为空,则直接返回 Object source = event.getSource(); //获取用户洗涤激活的按钮 //播放按钮 事件处理 if (source == playButton) { stopButton.setEnabled(true); //设置停止播放按钮可用 loopButton.setEnabled(true); //设置循环播放按钮可用 chosenClip.play(); //播放选择的声音剪辑对象一次 status.setText("正在播放"); //设置状态栏信息 //循环播放按钮 事件处理 if (source == loopButton) { looping = true; chosenClip.loop(); //循环播放选择的声音剪辑对象 loopButton.setEnabled(false); //设置循环播放按钮不可用 stopButton.setEnabled(true); //设置停止播放按钮可用 status.setText("正在循环播放"); //设置状态栏信息 //停止播放按钮 事件处理 if (source == stopButton) { if (looping) { looping = false; chosenClip.stop(); //停止循环播放选择的声音剪辑对象 loopButton.setEnabled(true); //设置循环播放按钮可用 } else { chosenClip.stop(); //停止播放选择的声音剪辑对象 stopButton.setEnabled(false); //设置循环播放按钮可用 status.setText("停止播放"); //设置状态栏信息 public static void main(String s[]) { new AudioPlayDemo(); //创建AudioPlayDemo对象 Java 实现图片拖动的例子,演示了如何实现图片拖动的效果,运行代码后将调用根目录下的1.jpg图片,运行程序后,在 窗口 上按住鼠标左键即可拖动图片变幻位置。实现的方法主要是添加鼠标处理 事件 。相关的自定义代码:   super("图片的拖动效果"); //调用父类构造函数   Icon image=new ImageIcon(this.getClass().getResource("1.jpg")); //实例化图标   jlPic = new JLabel(image); //实例化带图片的标签   getContentPane().add(jlPic); //增加标签到容器上   DragPicListener listener=new DragPicListener(); //鼠标 事件处理 jlPic.addMouseListener(listener); //增加标签的 事件处理 jlPic.addMouseMotionListener(listener);   setSize(300,200); //设置 窗口 尺寸   setVisible(true); //设置 窗口 为可视   setDefaultCloseOperation( JFrame .EXIT_ON_CLOSE); // 关闭 窗口 时退出程序 1.1 说明对窗体进行操作时,例如窗体的打开, 关闭 ,激活,停用等,这些动作都属于窗体 事件 。一般通过addWindowListener绑定窗体 事件 。可以通过 WindowListener接口和WindowAdapter抽象类实现 窗口 监听,WindowAdapter可只重写需要的监听方法。监听的 事件 源为 窗口 对象。类外还有其他的窗体 事件 WindowFocusListener(焦点),WindowStateListener(状态),可用于 窗口 的焦点获取与失去、状态改变的 事件 监听。1.2 事件 监听方法。 问题:一般窗体的系统 关闭 this.ctime.run();按钮是默认不响应,点击 关闭 了之后,窗体只是隐藏,并没有 关闭 想要窗体真正 关闭 ,就需要添加WindowListener 事件 响应,这样的代码会显得繁杂,测试代码的时候也很繁琐的紧解决方式:其实只需要一句语句就可以实现窗体的 关闭 事件 响应了,看代码……代码: JFrame frame = new JFrame (); frame.setDefaultCl... 通过Swing开发 Java 客户端工具过程中,出现Windows的字段的蓝色 窗口 和界面不搭,颜色不匹配,所以去掉Frame自带的 窗口 窗口 可以正常 关闭 ,但是Springboot的启动进程依然一直正常运行,问题来了,由于项目采用了Springboot的作为后端服务, 关闭 窗口 使用。问题:如何 关闭 窗口 同时 关闭 Springboot的主进程?所以采用自定义的方式实现 最小化和 关闭 按钮。来退出主进程,修改后完美解决此。例如下图自带的蓝色边框。 jframe 是frame的子类,即 jframe 继承自frame。 jframe java x.swing. jframe 的类,frame是 java .awt.frame的类。类似的还有jbutton、button,jcombobox,combobox等,总的来说swing是awt的升级,带j的是不带j的升级版。1. jframe 关闭 方式:设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下... java Swing如何自定义 JFrame 关闭 事件 ?当用户 关闭 应用程序 窗口 的时候,我们可能希望程序在结束之前保存一些必要的数据。对于这种需求,两种备选方案:2.1 获取程序 关闭 的“钩子”Runtime.getRuntime().addShutdownHook(shutdownHook);protected Thread shutdownHook = new PlatformShutdownHoo... 1.使用 JFrame 的enableEvents和processWindowEvent //Frame1. java import java .awt.*; import java .awt.event.*; import java x.swing.*; public class Frame1 extends JFrame { public Frame1() { enableEvents(AWTEvent.... JAVA 利用 Jframe 创建窗体、绑定 事件 、用Canvas绘画 创建窗体并给上述 窗口 的登录按钮绑定点击 事件 ,点击后获取用户在文本框输入的姓名和密码,打印输出到控制台上。 使用canvas类,绘制红色字符串“hello”,显示在 JFrame 窗口 中。...... setDefaultCloseOperation( JFrame .DO_NOTHING_ON_CLOSE); JFrame .DO_NOTHING_ON_CLOSE// 关闭 按钮失效 JFrame .EXIT_ON_CLOSE// 关闭 按钮 事件 响应时退出系统 JFrame .DISPOSE_ON_CLOSE// 关闭 按钮 事件 响应时只是该界面不显示,系统部退出