【问题标题】:Swing application closes right away after launchSwing 应用程序在启动后立即关闭
【发布时间】:2015-06-12 11:07:01
【问题描述】:

我有一个简单的 JRuby Swing 应用程序,它使用 Warbler 编译并打包到 jar 中。执行jar文件后,Swing frame出现并立即关闭。

include Java

import java.awt.Font
import javax.swing.JFrame
import javax.swing.JPanel
import javax.swing.JLabel

class Main
def initialize
@logInWin = JFrame.new
    basic = JPanel.new

    font = Font.new "Verdana", Font::PLAIN, 16

    loginL = JLabel.new "Login"
    loginL.setFont font

    basic.add loginL
    @logInWin.add basic
    @logInWin.pack

    @logInWin.setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
    @logInWin.setSize 350, 350
    @logInWin.setLocationRelativeTo nil
    @logInWin.setTitle "Log In"
    @logInWin.setVisible true
end
end

Main.new

如何避免这种行为?

环境:

操作系统:Win 8

Java(TM) SE 运行时环境(内部版本 1.8.0_11-b12)

Java HotSpot(TM) 64 位服务器 VM(内部版本 25.11-b03,混合模式)

jruby 9.0.0.0.rc1 (2.2.2) 2015-06-10 a0bf3b3 Java HotSpot(TM) 64 位服务器 VM 25.11-b03 on 1.8.0_11-b12 +jit [Windows 8-amd64]

莺版本 1.4.8

【问题讨论】:

  • 请至少陈述一个真实的问题(我认为“我该如何避免这种行为”......)。也许给出一些上下文(操作系统?,版本?,...)
  • @kebs,已添加问题和环境信息。

标签: java swing jruby


【解决方案1】:

这个问题已经存在: JRuby script with Rubeus and Swing exiting once packaged into jar using warble

在主脚本底部添加:

event_thread = nil
SwingUtilities.invokeAndWait { event_thread = java.lang.Thread.currentThread }
event_thread.join

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多