Невозможно использовать Sea Glass Look and Feel вместе с JFreeChart - PullRequest
1 голос
/ 30 марта 2012

Когда я использовал внешний вид Sea-glass с 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();
}
};
        }
        );
    }

1 Ответ

2 голосов
/ 30 марта 2012

Обратите внимание, что JFreeChart - это , а не a JComponent. У него нет делегата пользовательского интерфейса для изменения. В качестве альтернативы может быть эффективным применение ChartTheme.

Добавление: хотя диаграмма не является компонентом, она может быть добавлена ​​к ChartPanel как часть произвольной схемы L & F /, как показано здесь , здесь и здесь .

...