Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jruby:桌面gui应用程序_Ruby_User Interface_Jruby_Jruby Win32ole - Fatal编程技术网

Jruby:桌面gui应用程序

Jruby:桌面gui应用程序,ruby,user-interface,jruby,jruby-win32ole,Ruby,User Interface,Jruby,Jruby Win32ole,我想开发桌面应用程序这只是一个开始,我正在使用jruby 我的代码: def fact(n) if n==0 return 1 else return n*fact(n-1) end end class CloseListener include java.awt.event.ActionListener def actionPerformed(event) puts "CloseListere.actionPerforme

我想开发桌面应用程序这只是一个开始,我正在使用
jruby

我的代码:

def fact(n)
   if n==0
     return 1
   else
     return n*fact(n-1)
   end
end

class CloseListener 
   include java.awt.event.ActionListener
     def actionPerformed(event)
       puts "CloseListere.actionPerformed() called"
       java.lang.System.exit(0)
     end
end

def showFactInWindow(title,number)
  f = fact(n)
  frame = javax.swing.JFrame.new(title)
  frame.setLayout(java.awt.FlowLayout.new())
  button = javax.swing.JButton.new("Close")
  button.addActionListener(CloseListener.new)
  frame.contentPane.add(javax.swing.JLabel.new(number.to_s+"! = "+f.to_s))
  frame.contentPane.add(button)
  frame.defaultCloseOperation=javax.swing.WindowConstants::EXIT_ON_CLOSE
frame.pack()
  frame.visible=true
  return f
end
执行代码

jruby file_name.rb
问题

如何获取
gui

我哪里错了?

只需添加一行

showFactInWindow('fact', 89)

你是否真的调用过showFactInWindow?你现在得到了什么?您的输出有什么问题?有什么错误吗?是的解决了谢谢。。