当我使用JFreechart的Sea-glass外观和感觉时,图表正常显示,但Sea-Glass根本没有改变外观和感觉,尽管在没有Jfreechart的情况下使用海玻时,它起作用了。
那么,原因可能是什么?
public static void main(String[] args) throws Exception{
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("com.seaglasslookandfeel.SeaGlassLookAndFeel");
JFreeChart chart = chart_producer(url) //my own static method to make the chart//
JFrame frame = new JFrame();
JPanel panel = new JPanel();
ChartPanel chartPanel = new ChartPanel(chart);
//chartPanel.setPopupMenu(null);
//chartPanel.setMouseZoomable(false);
panel.add(chartPanel);
frame.add(panel);
frame.pack();
frame.setVisible(true);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}
);
}
答案 0 :(得分:2)
请注意,JFreeChart
不是JComponent
。它没有要更改的UI委托。或者,应用ChartTheme
可能会有效。
附录:虽然图表不是一个组件,但它可能会作为任意L& F /布局的一部分添加到ChartPanel
,如here,here和{ {3}}