1

Java Swing で小さな GUI を作成しました。しかし、私はデフォルトのルックアンドフィールを使用していくつかの小さな問題がありますcom.sun.java.swing.plaf.gtk.GTKLookAndFeel

ここに画像の説明を入力

ご覧のとおり、メニューとボタンのフォントがデスクトップの他のアプリケーションと同じではありません (Eclipse と Nautilus の写真)。Gnome2 で GTK を使用しています。

一方、ウィンドウで相対的なルック アンド フィールを使用しても違いはありません。

ここに画像の説明を入力

フォントは同じに見えます。

これはどのように可能ですか?GTK でフォントの外観を編集するには、どのパラメーターを変更できますか?

4

3 に答える 3

0

どの L&F を使用するかをシステムに決定させる必要があります。

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

上記の画像では、Unity で Ubuntu を使用していますが (推測しますか?)、Unity は GTKではなくNuxを使用しています。

ネイティブなルック アンド フィールを作成するもう 1 つの方法は、SWT (Standard Widget Toolkit) を使用することです。SWT (Standard Widget Toolkit) は、Windows、Linux、および OSX 用のシステム依存ライブラリを提供します。これにより、プログラム内のグラフィック要素がそれらのシステムの実際のネイティブ要素を使用します。ただし、 Swing コンポーネントを使用できないため、使用するのがそれほど簡単ではない (時には奇妙で煩わしい場合もあります :)) ことを警告しなければなりません。ですから、それは面倒なことではないかもしれません。決めるのはあなたです。

于 2013-05-03T14:39:57.710 に答える
0

ルック アンド フィールを設定したら、コンポーネントのフォントのデフォルトを設定することを検討してください。

UIManager.put("Menu.font", new FontUIResource(your_desired_font));
UIManager.put("Button.font", new FontUIResource(your_desired_font));

Windows L&F はデフォルトで使用していますnew Font("Tahoma", Font.PLAIN, 11);

于 2014-11-05T14:08:56.437 に答える
0

GTK の場合、 UIManager.getLookAndFeelDefaults () でフォント標準を設定しても機能しません...その後、リフレクションを介して機能するハックを見つけました 。

于 2015-07-10T15:53:43.037 に答える