Создание графика по точкам на Java
Сегодня мы научимся рисовать графики по точкам на языке Java. Для этого напишем небольшую программку, результат её вы можете увидеть на рисунке слева. Как можно увидеть, приложение в стиле минимализм - просто оси и график. При желании можно дополнить её названиями осей, пронумеровать их и так далее - этим мы займемся тогда, когда будем делать графики по функциям, а сейчас и так сойдет - нам главное разобраться со способом. А вот, собственно, и сам текст программы:
package up7; import javax.swing.*; import java.awt.*; class DrawingComponent extends JPanel { int xg[] = Up7.x; int yg[] = Up7.y; int ng = Up7.n; @Override protected void paintComponent(Graphics gh) { Graphics2D drp = (Graphics2D)gh; drp.drawLine(20, 340, 20, 20); drp.drawLine(20, 340, 460, 340); drp.drawPolyline(xg, yg, ng); } } public class Up7 extends JFrame{ public static int x[] = {50, 100, 150, 200, 250}; public static int y[] = {80, 200, 150, 320, 100}; public static int n = 5; public Up7 () { super("График по точкам"); JPanel jcp = new JPanel(new BorderLayout()); setContentPane(jcp); jcp.add(new DrawingComponent (), BorderLayout.CENTER); jcp.setBackground(Color.gray); setSize(500, 400); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { new Up7().setVisible(true); } }Немного комментариев по листингу. В программе два класса - сама отрисовка происходит в DrawingComponent - он наследуется от JPanel, а вот значения для отрисовки задаются в классе Up7 - он наследуется от JFrame. Задаем мы три параметра - два массива со значениями по осям x, y и число точек. Точки соединяются прямыми - в этом помогает метод drawPolyline.
Вот так несложно можно создать график функции по точкам на Java. Комментарии, вопросы - на почту up777up@yandex.ru.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.