Archive for 11月, 2012
-
Hello, JavaFX(Groovy) World!
Posted on 11月 10th, 2012 by cx20
JavaFX(Groovy)
JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
以下は Groovy による JavaFX の使用例となっている。ソースコード
import javafx.application.Application import javafx.stage.Stage import javafx.scene.Scene import javafx.scene.layout.HBox import javafx.scene.control.Label class Hello extends Application { static void main(args) { Application.launch(Hello, args) } void start(Stage stage) { def hbox = new HBox() def scene = new Scene(hbox, 640, 480) hbox.getChildren().add( new Label("Hello, JavaFX World!") ) stage.setScene(scene); stage.setTitle("Hello, World") stage.show() } }
コンパイル&実行方法
C:¥> SET JAVAFX_HOME=C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK C:¥> groovyw -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello.groovy
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, JavaFX World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, SWT(Groovy) World!
Posted on 11月 9th, 2012 by cx20
SWT(Groovy)
SWT(Standard Widget Toolkit) は Java で GUI を扱うためのライブラリである。
IBM により AWT や Swing を置き換える目的で作成された。
以下は Groovy による SWT の使用例となっている。ソースコード
import org.eclipse.swt.SWT import org.eclipse.swt.widgets.* import org.eclipse.swt.layout.* class Hello { static void main (args) { def display = new Display() def shell = new Shell(display) shell.setText("Hello, World") def layout = new FillLayout(SWT.VERTICAL) shell.setLayout(layout) def label = new Label(shell,SWT.BORDER) label.setText("Hello, SWT World!") shell.setSize( 640, 480 ) shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep() } } display.dispose() } }
実行方法
C:¥> groovyw -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar Hello.groovy
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, SWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Swing(Groovy) World!
Posted on 11月 8th, 2012 by cx20
Swing(Groovy)
Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
以下は Groovy による Swing の使用例となっている。ソースコード
import java.awt.* import java.awt.event.* import javax.swing.* class Hello extends JFrame { static void main( args ) { def frame = new Hello( "Hello, World" ) frame.setVisible( true ) } Hello( String title ) { super( title ) setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ) setLocationRelativeTo( null ) setSize( 640, 480 ) def label = new JLabel( "Hello, Swing World!" ) label.setVerticalAlignment(JLabel.TOP) add( label ) } }
実行方法
C:¥> groovyw Hello.groovy
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Swing World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, AWT(Groovy) World!
Posted on 11月 7th, 2012 by cx20
AWT(Groovy)
AWT(Abstract Window Toolkit) は Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT を拡張した Swing が使われることが多くなっている。
以下は Groovy による AWT の使用例となっている。ソースコード
import java.awt.* import java.awt.event.* class Hello extends Frame { static void main(args) { def frame = new Hello( "Hello, World" ) frame.setVisible(true) } Hello( title ) { super( title ); addWindowListener(new HelloWindowAdapter()) setSize(640, 480) setLayout(new FlowLayout(FlowLayout.LEFT)) def label = new Label("Hello, AWT World!") add(label) } } class HelloWindowAdapter extends WindowAdapter { void windowClosing(WindowEvent e) { System.exit(0) } }
実行方法
C:¥> groovyw Hello.groovy
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, AWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Java 3D World!
Posted on 11月 6th, 2012 by cx20
Java 3D
Java 3D は Java による 3D グラフィックライブラリである。
ソースコード
import javax.media.j3d.*; import javax.swing.JFrame; import javax.vecmath.Vector3f; import javax.vecmath.Color3f; import java.awt.BorderLayout; import java.awt.GraphicsConfiguration; import java.awt.Font; import com.sun.j3d.utils.universe.SimpleUniverse; public class Hello extends JFrame { public static void main(String[] args) { Hello frame = new Hello("Hello, World"); frame.setVisible(true); } public Hello( String title ) { super(title); setSize(640, 480); setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); Canvas3D canvas3D = createCanvas3D(); BranchGroup scene = createSceneGraph(); connect(canvas3D, scene); } private Canvas3D createCanvas3D() { getContentPane().setLayout(new BorderLayout()); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas3D = new Canvas3D(config); getContentPane().add(canvas3D); return canvas3D; } public BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup(); TransformGroup mover = moveTextBack(); TransformGroup spinner = createSpinner(); RotationInterpolator rotator = new RotationInterpolator(new Alpha(-1, 4000), spinner, new Transform3D(), 0.0f, (float)Math.PI * 2); rotator.setSchedulingBounds( new BoundingSphere() ); spinner.addChild(rotator); objRoot.addChild(mover); mover.addChild(spinner); spinner.addChild( createTextShape()); setLighting(mover); return objRoot; } private TransformGroup createSpinner() { TransformGroup spinner = new TransformGroup(); spinner.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); return spinner; } private TransformGroup moveTextBack() { Transform3D transform3D = new Transform3D(); transform3D.setTranslation(new Vector3f(0.0f, 0.0f, -10.0f)); return new TransformGroup(transform3D); } private Shape3D createTextShape() { Appearance textAppear = new Appearance(); textAppear.setMaterial(new Material()); Font3D font3D = new Font3D(new Font("MS Pゴシック", Font.PLAIN, 1), new FontExtrusion()); Text3D textGeom = new Text3D(font3D, new String("Hello, Java 3D World!")); textGeom.setAlignment(Text3D.ALIGN_CENTER); Shape3D textShape = new Shape3D(); textShape.setGeometry(textGeom); textShape.setAppearance(textAppear); return textShape; } private void setLighting(TransformGroup objMove) { DirectionalLight light = new DirectionalLight(); light.setInfluencingBounds(new BoundingSphere()); light.setDirection(new Vector3f(0.0f,0.0f,-1.0f)); light.setColor(new Color3f(1.0f, 1.0f, 1.0f)); objMove.addChild(light); } private void connect(Canvas3D canvas3D, BranchGroup scene) { SimpleUniverse universe = new SimpleUniverse(canvas3D); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(scene); } }
コンパイル&実行方法
C:¥> javac Hello.java C:¥> javaw Hello
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Java 3D World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Java 2D World!
Posted on 11月 5th, 2012 by cx20
Java 2D
Java 2D は Java による 2D グラフィックライブラリである。
ソースコード
import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.*; public class Hello extends JFrame { public static void main(String[] args) { Hello frame = new Hello("Hello, World"); frame.setVisible(true); } Hello( String title ) { super( title ); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(640, 480); HelloPanel panel = new HelloPanel(); add( panel ); } } class HelloPanel extends JPanel { public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; g2.drawString("Hello, Java2D World!", 0, 16); } }
コンパイル&実行方法
C:¥> javac Hello.java C:¥> javaw Hello
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Java 2D World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, JavaFX(Java) World!
Posted on 11月 4th, 2012 by cx20
JavaFX(Java)
JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。ソースコード
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.layout.HBox; import javafx.scene.control.Label; public class Hello extends Application { public static void main(String[] args) { Application.launch(Hello.class, args); } @Override public void start(Stage stage) { HBox hbox = new HBox(); Scene scene = new Scene(hbox, 640, 480); hbox.getChildren().add( new Label("Hello, JavaFX World!") ); stage.setScene(scene); stage.setTitle("Hello, World"); stage.show(); } }
コンパイル&実行方法
C:¥> SET JAVAFX_HOME=C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK C:¥> javac -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello.java C:¥> javaw -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, JavaFX World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, SWT(Java) World!
Posted on 11月 3rd, 2012 by cx20
SWT(Java)
SWT(Standard Widget Toolkit) は Java で GUI を扱うためのライブラリである。
IBM により AWT や Swing を置き換える目的で作成された。ソースコード
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.*; import org.eclipse.swt.layout.*; public class Hello { public static void main (String [] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Hello, World"); FillLayout layout = new FillLayout(SWT.VERTICAL); shell.setLayout(layout); Label label = new Label(shell,SWT.BORDER); label.setText("Hello, SWT World!"); shell.setSize( 640, 480 ); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } }
コンパイル&実行方法
C:¥> javac -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;. Hello.java C:¥> javaw -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;. Hello
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, SWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Swing(Java) World!
Posted on 11月 2nd, 2012 by cx20
Swing(Java)
Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。ソースコード
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Hello extends JFrame { public static void main( String args [] ) { Hello frame = new Hello( "Hello, World" ); frame.setVisible( true ); } Hello( String title ) { super( title ); setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); setLocationRelativeTo( null ); setSize( 640, 480 ); JLabel label = new JLabel( "Hello, Swing World!" ); label.setVerticalAlignment(JLabel.TOP); add( label ); } }
コンパイル&実行方法
C:¥> javac Hello.java C:¥> javaw Hello
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Swing World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, AWT(Java) World!
Posted on 11月 1st, 2012 by cx20
AWT(Java)
AWT(Abstract Window Toolkit) は Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT を拡張した Swing が使われることが多くなっている。ソースコード
import java.awt.*; import java.awt.event.*; public class Hello extends Frame { public static void main(String [] args) { Hello frame = new Hello( "Hello, World" ); frame.setVisible(true); } Hello( String title ) { super( title ); addWindowListener(new HelloWindowAdapter()); setSize(640, 480); setLayout(new FlowLayout(FlowLayout.LEFT)); Label label = new Label("Hello, AWT World!"); add(label); } } class HelloWindowAdapter extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } }
コンパイル&実行方法
C:¥> javac Hello.java C:¥> javaw Hello
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, AWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+