Я очень впечатлен Ruby, и я экспериментирую с JRuby в NetBeans. Но трудно получить больше, чем небольшую информацию об использовании JRuby с Swing. На данный момент у меня есть следующая программа, которая работает, за исключением закомментированной строки.
require 'java'
include_class 'java.awt.event.ActionListener'
include_class 'javax.swing.JButton'
include_class 'javax.swing.JFrame'
class ClickAction
include ActionListener
def actionPerformed(event)
puts "Button clicked"
end
end #ClickAction
class MainWindow < JFrame
def initialize
super "JRuby Swing Demo"
setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
button = JButton.new "Click me"
button.setSize 30, 100 #this line does nothing
button.addActionListener ClickAction.new
add button
pack
end
end
mainWindow = MainWindow.new
mainWindow.setSize 300, 300
mainWindow.setVisible(true)
Когда я запускаю это, кнопка автоматически расширяется, чтобы занимать все окно.
Так почему же «setSize» работает в главном окне, а не на кнопке.
Кроме того, есть ли метод setBounds, аналогичный Java?
Спасибо за любую помощь в этом. Я кодирую свои собственные макеты в Java, и это то, что я хотел бы сделать в JRuby.