web-dev-qa-db-ja.com

Java Swing GUIのルックアンドフィールを向上させる方法は?

Java Swingを使用するプロジェクトに取り組んでいます。Java Swing GUIのデフォルトのルックアンドフィールは非常に退屈です。使用できる方法はありますか?見た目と使い心地が良いですか?Webページのようなもの...

24
Mandar

ルックアンドフィールを設定して、プラットフォームを反映できます。

try { 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
    e.printStackTrace();
}

これで十分ではない場合は、 SWT for Eclipse を参照してください。

52

Java ルックアンドフィールを設定するためのチュートリアル を見てください。そこで言及されているものに加えて、最近のJava 6リリースには、 ニンバスのルックアンドフィール

16

サブスタンスは非常に構成可能な最新のLAFです。

https://github.com/kirill-grouchnikov/substance

2
Russ Hayward

フォトショップが良ければ、JFrameを装飾なしとして宣言し、カスタムGUIとして機能する独自の画像を作成できます。

この例では、JFrameをフレームと呼びます。

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
//If you want full screen enter frame.setExtendedState(JFrame.MAXIMIZE_BOTH);
frame.setUndecorated(true);

jFrameに独自の境界線とカスタムGUIがあるため、最小化、最大化、および終了のために独自のカスタムボタンを定義した場合は、ボタンの上にJPanelを配置し、アクションリスナー関数でこれらのボタンが何を行うかを宣言する必要があります(すみません) ...それがc ++やクラスのような関数と呼ばれるかどうかはわかりません...)たとえば、JPanelをパネルとして参照し、終了ボタンを設定します。

panel.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.exit(JFrame.EXIT_ON_CLOSE);
});
}
2
ryanpvw

別のオプションは プラスチックのルックアンドフィール です。 SwingアプリにXPのような外観を与え、多くのカスタマイズオプションを提供します。

編集:そのページの画像が壊れていることに気づきました。 JGoodiesの外観ページ をクリックすると、これらの外観で達成できることの例が少なくとも3つ表示されます。

1
Carl Smotricz

ご覧になれます こちら 。 Java Swingテーマをググった。

つまり、趣味のプロジェクトを作成している場合、LAFを変更しても問題ありません。仲間のためのソフトウェアを作っているなら、それも問題ではありません。顧客向けのソフトウェアを作成する場合は、swingをデフォルトのままにします。それはうまく機能し、あまり刺激的ではありません:)

1
extraneon