我决定JToolBar
通过继承 BasicToolBarUI 来拥有自己的自定义 UI,作为我Swing
程序的一部分。
它在 OS X (10.6) 和 Windows (7) 下运行良好,但在 Linux 上运行时出现问题:
如果摆动分量是
- 使用
SystemLookAndFeel
(显示使用 Java LAF) - 使用 UI
BasicToolBarUI
(为了简化问题。有了这个它已经不起作用了) - 在 Linux (Ubuntu 10.10) 下运行
整体JToolBar
不再出现。
有人可以帮忙吗?如何让它再次出现在 Linux 上?先感谢您。
(我已经完成了自定义 UI,以便用户仍然能够将工具栏移动到窗口的其他边缘,但防止它进入浮动状态。)
干杯,
硕
我的SSCCE:
// Set the system look and feel:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
// Create frame
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(200, 100));
// Create toolbar
JToolBar toolbar = new JToolBar(JToolBar.HORIZONTAL);
toolbar.add(new JButton("Foo"));
// With this line toolbar doesn't appear any more (only) on Linux.
toolbar.setUI(new BasicToolBarUI());
// Show UI
panel.add(toolbar);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);