У меня небольшая проблема с изменением внешнего вида объекта. В моем приложении у меня есть
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);
поэтому, когда я нажимаю на одну из кнопок, это должно изменить внешний вид моего приложения. Но когда я это делаю, все меняется, но сетка вокруг элементов в таблице отсутствует, поэтому мне нужно было добавить
table.setShowGrid(true);
это нормальное поведение, что сетка пропадает после изменения внешнего вида?