java - 当用户单击窗口的关闭按钮时隐藏框架而不是关闭

标签 java swing scala jframe

我有一个显示窗口的应用程序。当用户按下“关闭”按钮时,我只想隐藏此窗口,而不是关闭窗口,我该怎么做?

这是我的代码(它不起作用,应用程序在单击时关闭):

  object UxMonitor {

  def main(args: Array[String]) {
    val frame = new MainScreen()
    frame.peer.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE)
    initTrayIcon(frame.peer)
  }

...

class MainScreen extends MainFrame {
      private val HEADERS = Array[Object]("Security", "Last Price", "Amount", "Cost")
      private val quotes = new Quotes()
      private val tableModel = new DefaultTableModel()

      title = "UX Monitor"

      tableModel.setColumnIdentifiers(HEADERS)

      private val table = new Table {
        model = tableModel
      }

      contents = new ScrollPane {
        contents = table
      }

      quotes.setListener(onQuotesUpdated)
      quotes.startUpdating

      peer.addWindowListener(new WindowAdapter{
        def windowClosing(e : WindowEvent){
            self.setVisible(false)
        }
      })

      pack

最佳答案

最简单的方法是:

final JFrame frame=...;

....

frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

或者,您可以通过添加覆盖 windowClosed(...)WindowAdapter 并在其中调用 setVisible(false) 来实现相同的结果在 JFrame 上),如下所示:

...

 frame.addWindowListener(new WindowAdapter() {
    @Override
  public void windowClosing(WindowEvent evt) {
    frame.setVisible(false);
  }
});

关于java - 当用户单击窗口的关闭按钮时隐藏框架而不是关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650142/

相关文章:

粒度级别的 Java 项目结构

Java Swing - 知道选项卡是否已在 ChangeListener 中删除/添加

Java Swing Repaint 缓慢或无法工作

java - 为什么 JList 在需要一组整数时使用 int[] 来选择索引?

scala - 什么是节点 [TypeOne < : Node[TypeOne]] in scala mean?

scala - Monix Observable groupBy 大量没有内存泄漏的键

java - java Datagram Socket处理数据的速度不够快

java - Intellij 未检测到 Play 语法

java - YCSB项目安装JDBC驱动

scala - 如何通过 scala 中的 Map 动态创建 xml 属性