Skip to content

Instantly share code, notes, and snippets.

@iku000888
Last active October 26, 2016 00:39
Show Gist options
  • Save iku000888/d2e15573c401776f77c000552f8a0e01 to your computer and use it in GitHub Desktop.
Save iku000888/d2e15573c401776f77c000552f8a0e01 to your computer and use it in GitHub Desktop.
javax.swingのHello WorldをClojureで書く ref: http://qiita.com/iku000888/items/374cc1027bb833748391
package start;
/*
* HelloWorldSwing.java requires no other files.
*/
import javax.swing.*;
public class HelloWorldSwing {
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add the ubiquitous "Hello World" label.
JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
(ns start.core
(:import [javax.swing JFrame JLabel SwingUtilities]))
(defn start []
(let [frame (JFrame. "HelloWorldSwing")
label (JLabel. "Hello World")]
(-> frame .getContentPane (.add label))
(doto frame (.setDefaultCloseOperation JFrame/DISPOSE_ON_CLOSE) .pack (.setVisible true))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment