我正在通过Rhino JS脚本编写Java来创建Swing应用程序。我有一个名为JMenuItem
的{{1}},我设置open
应该会显示ActionListener
对话框,然后我可以处理结果。用于制作JFileChooser
的代码是:
JFileChooser
现在,当点击 open.addActionListener(function(event) {
var fileChooser = new JFileChooser()
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG)
print(SwingUtilities.isEventDispatchThread()) // Prints true
var result = fileChooser.showOpenDialog(frame) // frame is a closure variable
if(result === JFileChooser.APPROVE_OPTION) {
print("You have chosen a file!")
}
})
open
时,事件会正常触发,JMenuItem
会打开,但它完全空白,如下面的屏幕截图所示:
答案 0 :(得分:0)
我找到了解决方案。在命令行上调用Rhino我有-Dsun.java2d.opengl=true
。这是旧项目遗留下来的,似乎与我系统中的某些内容发生冲突。删除它修复了问题。非常感谢@Antoniossss指导我朝着正确的方向前进!