Skip to content

Instantly share code, notes, and snippets.

@hubertlepicki
Created April 22, 2010 09:54
Show Gist options
  • Save hubertlepicki/375045 to your computer and use it in GitHub Desktop.
Save hubertlepicki/375045 to your computer and use it in GitHub Desktop.
include Java
frame = javax.swing.JFrame.new
frame.set_default_close_operation javax.swing.JFrame::EXIT_ON_CLOSE
frame.get_content_pane.add javax.swing.JLabel.new("Hello, World!")
frame.pack
frame.set_visible true
include Java
frame = javax.swing.JFrame.new
frame.get_content_pane.set_layout javax.swing.BoxLayout.new(frame.get_content_pane, javax.swing.BoxLayout::Y_AXIS)
frame.set_default_close_operation javax.swing.JFrame::EXIT_ON_CLOSE
[ javax.swing.JLabel.new("Twitter login:"),
javax.swing.JTextField.new,
javax.swing.JLabel.new("Twitter password:"),
javax.swing.JPasswordField.new,
javax.swing.JLabel.new("Your tweet:"),
javax.swing.JTextField.new,
javax.swing.JButton.new("OK")
].each {|element| frame.get_content_pane.add element}
frame.pack
frame.set_visible true
include Java
class QuickTweetWindow < javax.swing.JFrame
import javax.swing
def initialize
super
self.get_content_pane.set_layout BoxLayout.new(self.get_content_pane, BoxLayout::Y_AXIS)
self.set_default_close_operation JFrame::EXIT_ON_CLOSE
[ JLabel.new("Twitter login:"),
JTextField.new,
JLabel.new("Twitter password:"),
JPasswordField.new,
JLabel.new("Your tweet:"),
JTextField.new,
JButton.new("OK")
].each {|element| self.get_content_pane.add element }
self.pack
self.set_visible true
end
end
QuickTweetWindow.new
include Java
class QuickTweetWindow < javax.swing.JFrame
import javax.swing
include java.awt.event.ActionListener
def initialize
super
self.get_content_pane.set_layout BoxLayout.new(self.get_content_pane, BoxLayout::Y_AXIS)
self.set_default_close_operation JFrame::EXIT_ON_CLOSE
[ JLabel.new("Twitter login:"),
JTextField.new,
JLabel.new("Twitter password:"),
JPasswordField.new,
JLabel.new("Your tweet:"),
JTextField.new,
ok_button = JButton.new("OK")
].each {|element| self.get_content_pane.add element }
self.pack
self.set_visible true
ok_button.add_action_listener self
end
def actionPerformed(evt);
puts "button_clicked!";
end
end
QuickTweetWindow.new
require 'net/http'
require 'uri'
include Java
class QuickTweetWindow < javax.swing.JFrame
import javax.swing
include java.awt.event.ActionListener
def initialize
super
self.get_content_pane.set_layout BoxLayout.new(self.get_content_pane, BoxLayout::Y_AXIS)
self.set_default_close_operation JFrame::EXIT_ON_CLOSE
[ JLabel.new("Twitter login:"),
@login = JTextField.new,
JLabel.new("Twitter password:"),
@password = JPasswordField.new,
JLabel.new("Your tweet:"),
@tweet = JTextField.new,
ok_button = JButton.new("OK")
].each {|element| self.get_content_pane.add element }
self.pack
self.set_visible true
ok_button.add_action_listener self
end
def actionPerformed(evt);
send_tweet
end
def send_tweet
url = URI.parse 'http://api.twitter.com/1/statuses/update.xml'
req = Net::HTTP::Post.new url.path
req.basic_auth @login.get_text, @password.get_text
req.set_form_data({'status'=>@tweet.get_text}, ';')
res = Net::HTTP.new(url.host, url.port).start {|http| http.request req }
end
end
QuickTweetWindow.new
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment