2015-03-22 4 views
0

Я хочу нарисовать график, в каждой точке которого будет кнопка. Когда я нажму кнопку, он что-то сделает. Вот link; Я хочу, чтобы мой график выглядел так. Может ли кто-нибудь предложить мне, как это сделать?Рисование Линейная диаграмма в Java

+0

* "Кто-нибудь может предложить мне, как это сделать?" * См [Создание GUI с помощью JFC/Swing] (http://docs.oracle.com/javase/tutorial/uiswing/) для деталей. Это «слишком широкий», чтобы быть включенным в SO. –

+0

http://docs.oracle.com/javafx/2/charts/line-chart.htm#CIHGBCFI Я нашел способ рисовать график, но как добавить кнопки. Скажите мне, @AndrewThompson –

+1

Во-первых, я не будут использовать фактические объекты 'JButton', а вместо этого использовать их с помощью Java 2D. Затем добавьте «MouseMotionListener» и «MouseListener» к компоненту, который рисует график и проверяет наличие кликов с помощью «MouseListener» и указателя, входящего/выходящего из «Shape», который содержит каждую «кнопку», используя другой прослушиватель. Если вы застряли, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) (минимальный полный проверяемый пример) или [SSCCE] (http://www.sscce.org/) (Short, Self Contained , Правильный пример) вашей попытки вместе с * специальным * вопросом. –

ответ

1

Используя JFreeChart, добавьте ChartMouseListener в ваш ChartPanel, как указано here. В вашей реализации chartMouseClicked() вызывается Desktop#browse(), как показано на рисунке here. В общих чертах,

chartPanel.addChartMouseListener(new ChartMouseListener() { 

    public void chartMouseClicked(ChartMouseEvent e) { 
     // construct a URI based the result from e.getEntity() 
     desktop.browse(uri); 
    } 

    public void chartMouseMoved(ChartMouseEvent e) {} 

});