2009-03-09 26 views
13

私はずっとSwingライブラリを使っています。私は学校の新しいプロジェクトに取り組んでいます。プログラムの性質上、一般的な/退屈なSwing GUIのようには見えません。 SwingやAWTではない興味深いJava GUIライブラリがありますか?Java GUIライブラリ

+0

ウェブブラウザを使用して、FlashまたはHTMLをビルドします。それをあなたのCLI javaに橋渡ししてください。それを解決するための最高のスマートな方法です。 (何も存在しない場合、特にJava swingのために) – YumYumYum

答えて

5

標準ウィジェットツールキットは:http://www.eclipse.org/swt/

+2

それは一般的な/退屈なWindows GUIのように見えます。 ;) –

+0

@ mmyers:あなたがWindows上にいる場合のみ。 ;) –

+0

Windowsで実行するための他の実装を手に入れることができると確信しています。 –

2

私はSWT/JFaceのだと思いますが(Eclipseのが付属していますが、たぶんスタンドアロンで使用することができます)うまく設計され、学ぶ/使用することがより興味深いものです。たとえば、JFaceはMVCのアプローチの一種に従います。

4

JavaFXおそらく?

+0

これは彼が今日何か役に立つものを作るために使うことができるものですか? – cherouvim

+0

もちろん、どうしてですか?それは野生で行われています。 http://www.indicthreads.com/interviews/1180/javafx_script_client_java_swing_ria.html – Boden

+0

ありがとうございます、これは私がやっていることに最適かもしれません! –

7

スイングが退屈なUIを生成すると思うなら、本当にこの本を入手する必要があります:Filthy Rich Clients

+0

ジョンそれはそれの価値があるのですか?私はいくつかのデスクトップペットプロジェクトでJavaを使用するのが辛いですが、GUIフレームワークは障害です。私はQt Jambiにもっと満足していましたが、中止されて以来、私は他の場所で探し始めました。この本は主にグラフィックスやアニメーションを扱っているようですが、私はより使いやすい機能に興味があります。 –

+0

@Yorgo私はスイングユーザーではありませんが、Swingアプリケーションを作成する予定がある場合は、本を購入する価値があると思います。あなたは、UIのファンキーな側面を多く取り上げていることは間違いありませんが、著者は非常に経験が豊富で、読んだことで多くを得ることができると確信しています。私はJUGイベントで無料で入手しました:) – cherouvim

+0

@cherouvim:スイングは透明でプログレッシブなスキャンフリッキングに問題があります。私の1つの質問では決して解決されませんでした。私は代わりを見つけることを余儀なくされている。 – YumYumYum

7

new Look & Feelを使用できます。

+1

このサイトには重大な問題が1つあります。プロジェクトの多くは死んでおり、実際に維持されている兆候はない。 –

0

JavaFXをご覧ください。それは非常に派手なように設計されています。私はあなたが別のGUIライブラリを見てする必要はないと思う

1

、私はかなりSyntheticaのような、あなたが異なって見える&感じを見てする必要があると思う、プラス彼らのルック&感じのいくつかは、非商用のアプリケーションは無料です。

3

Java 6u10 +を使用している場合は、新しいSwing GUIオプションのNimbusを使用できます。

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); 
0

また、Javaスタンドアロン(Java +のシナリオのみを使用し、javafxではなく)を使用することもできます。しかし、そのドキュメントはあまり良くありません。シーングラフ1.0(JavaFXに同梱されている "Scenario.jar")を使用したコードサンプルです。それはdiscontinuedなかったQt Jambi場合

import java.awt.Color; 
import java.awt.Paint; 
import java.awt.geom.Point2D; 

import javax.swing.JFrame; 
import javax.swing.SwingUtilities; 

import com.sun.scenario.scenegraph.JSGPanel; 
import com.sun.scenario.scenegraph.SGGroup; 
import com.sun.scenario.scenegraph.fx.FXText; 



public class HelloWorldScenario101 implements Runnable { 



    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new HelloWorldScenario101()); 
    } 



    public HelloWorldScenario101() { 
     // 
    } 



    @Override 
    public void run() { 

     this.frame = new JFrame(); 
     this.panel = new JSGPanel(); 
     this.text = new FXText(); 
     this.paint = new Color(255, 0, 0, 255); 

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setTitle("Hello World"); 
     frame.add(this.panel); 
     frame.setContentPane(this.panel); 
     scene = new SGGroup(); 
     this.text.setText("Hello World"); 
     this.text.setFillPaint(this.paint); 
     this.text.setLocation(new Point2D.Float(10, 10)); 
     this.scene.add(this.text); 
     this.panel.setScene(scene); 
     frame.pack(); 
     frame.setLocationByPlatform(true); 
     frame.setVisible(true); 

    } 



    private JFrame frame; 

    private JSGPanel panel; 

    private SGGroup scene; 

    private FXText text; 

    private Paint paint; 



} 
0

私は強くお勧めします。 demoをチェックして、アプリケーションの外観を確認することができます。
私は、コミュニティ主導の努力がそれを放棄することを決定する前に進化する方法を見て待っていますが、今Qt Jambiで私にとって重要なことを始めませんが、あなたの状況に適していると思います。

0

Qt for Java、Qt-Jambiを使用できます。それは単なる素晴らしい図書館です。