アプリケーションでニンバス ボタン スタイルを使用したいと思います。L&Fを変更したくありません。ニンバス L&F を使用するには、ボタンの L&F のみを変更します。これを行う方法はありますか?
質問する
2288 次
1 に答える
1
より良い方法があるかもしれませんが、次のユーティリティクラスが機能するはずです。
import javax.swing.JButton;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
public class NimbusButton {
private static LookAndFeel nimbus;
public static JButton generateNimbusButton() {
try {
LookAndFeel current = UIManager.getLookAndFeel(); //capture the current look and feel
if (nimbus == null) { //only initialize Nimbus once
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
nimbus = UIManager.getLookAndFeel();
}
else
UIManager.setLookAndFeel(nimbus); //set look and feel to nimbus
JButton button = new JButton(); //create the button
UIManager.setLookAndFeel(current); //return the look and feel to its original state
return button;
}
catch (Exception e) {
e.printStackTrace();
return new JButton();
}
}
}
generateNimbusButton()メソッドは、ルックアンドフィールをNimbusに変更し、ボタンを作成してから、ルックアンドフィールをメソッドが呼び出されたときの状態に戻します。
于 2012-03-07T17:50:55.237 に答える