オブジェクトのルックアンドフィールを変更することには小さな問題があります。私のアプリでは、私はJTableとルックアンドフィール
public class JavaCommander extends JFrame
を持っており、このクラスで私は自分のテーブルモデルで構成されているのJTableを持っています。すべてうまく動作しますが、私が言ったように、私はルック・アンド・フィールを変えたいときに問題があります。メニューバーには、使用可能なルックアンドフィールのメニューがあります。
menuBar=new JMenuBar();
JMenu lookMenu=new JMenu("Look and Feel");
UIManager.LookAndFeelInfo[] info= UIManager.getInstalledLookAndFeels();
ButtonGroup group=new ButtonGroup();
for (int i=0;i<info.length;++i)
{
JRadioButtonMenuItem but=new JRadioButtonMenuItem(info[i].getClassName());
but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try {
UIManager.setLookAndFeel(e.getActionCommand());
SwingUtilities.updateComponentTreeUI(JavaCommander.this);
table.setShowGrid(true);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
e1.printStackTrace();
}
}
});
lookMenu.add(but);
group.add(but);
}
menuBar.add(lookMenu);
ボタンの1つをクリックすると、アプリケーションのルックアンドフィールが変更されるはずです。私はすべての変更を行いますが、テーブルの要素の周りのグリッドはので、私は
table.setShowGrid(true);
を追加する必要が欠落している場合しかし、それはグリッドが外観を変更した後、行方不明になり、感じることは正常な動作ですか?
Nimbusはいくつかの場所で自分自身の背後に掃除しないことによって、重大な誤操作をしています。テーブルグリッド線はそれらの1つです - より多くの汚れのために準備してください:-( – kleopatra