<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=3666494</guid>
        <pubDate>Mon, 18 Apr 2016 08:12:54 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=3666494</link>
        <description><![CDATA[PeterBr: Преркасный пример кода построения графиков в Java <a class='tag-url' href='http://ivarious.com/index.php?onecategory=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&id=53' target='_blank'>Java. Графики функций</a>  <img class='tag-img' src='http://ivarious.com/images/graphicsprog.jpg' alt='user posted image'>]]></description>
        <author>PeterBr</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=1447896</guid>
        <pubDate>Fri, 09 Feb 2007 14:19:56 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=1447896</link>
        <description><![CDATA[Gugle: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">import java.awt.BasicStroke;</div><div class="code_line">import java.awt.Color;</div><div class="code_line">import java.awt.Dimension;</div><div class="code_line">import java.awt.Graphics;</div><div class="code_line">import java.awt.RenderingHints;</div><div class="code_line">import java.awt.event.MouseEvent;</div><div class="code_line">import java.awt.geom.Line2D;</div><div class="code_line">&nbsp;</div><div class="code_line">public class NewClass extends javax.swing.JPanel </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener {</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public NewClass() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;setBackground(_color.WHITE);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;setForeground(_color.BLUE);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;addMouseListener(this);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;addMouseMotionListener(this);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;setPreferredSize(new Dimension((int)(_endX-_beginX), (int)(_endY-_beginY)));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;setSize(new Dimension((int)(_endX-_beginX), (int)(_endY-_beginY)));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;getPoint();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void paintComponent(Graphics theGraphics) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;super.paintComponent(theGraphics);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;java.awt.Graphics2D g2 =(java.awt.Graphics2D)theGraphics;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// График</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;java.awt.geom.AffineTransform oldTransform = _gImage.getTransform();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_gImage.scale(_scaleX, _scaleY);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//_gImage.setComposite(java.awt.AlphaComposite.getInstance(java.awt.AlphaComposite.SRC_OVER, 0.1F));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_gImage.setPaint(Color.RED);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// если убрать коменты то рисуется</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/*for (int i=0; i &#60; _pointX.length-1; i++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double x1 = _pointX[i]-_beginX;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double y1 = _pointY[i];//-_beginY;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double x2 = _pointX[i+1]-_beginX;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double y2 = _pointY[i+1];//-_beginY;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;java.awt.geom.Line2D line = new java.awt.geom.Line2D.Double(x1, y1, x2, y2);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//System.out.println(x1 +&quot;/&quot;+ y1 +&quot; &quot;+ x2 +&quot;/&quot;+ y2);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_gImage.draw(line);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}*/</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;g2.drawImage(_image, null, 0, 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_gImage.setTransform(oldTransform);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// Ползунок</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (_enableSlider) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;float[] dashPattern = {10, 10};</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;g2.setStroke(new BasicStroke(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.0F,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BasicStroke.CAP_ROUND,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BasicStroke.JOIN_MITER,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;10.0F,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dashPattern,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;g2.setPaint(_colorSlider);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;g2.draw(new Line2D.Double(_mouseX, 0, &nbsp;_mouseX, getHeight()));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;g2.drawString(String.valueOf(_mouseX), _mouseX, _textSlider);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void invalidate() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;super.invalidate();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_image = new java.awt.image.BufferedImage(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;getWidth(),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;getHeight(),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;java.awt.image.BufferedImage.TYPE_INT_ARGB);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_gImage = _image.createGraphics();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// Если тут прорисовывать Image то графика нет.</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (int i=0; i &#60; _pointX.length-1; i++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double x1 = _pointX[i]-_beginX;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double y1 = _pointY[i];//-_beginY;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double x2 = _pointX[i+1]-_beginX;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double y2 = _pointY[i+1];//-_beginY;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;java.awt.geom.Line2D line = new java.awt.geom.Line2D.Double(x1, y1, x2, y2);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_gImage.draw(line);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//_gImage.setComposite(java.awt.AlphaComposite.getInstance(java.awt.AlphaComposite.SRC_OVER, 0.1F));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_gImage.translate(0, 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_scaleX = (double)getWidth() / (double)(_endX - _beginX);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_scaleY = (double)getHeight() / (double)(_endY - _beginY);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//System.out.println(_scaleX);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//System.out.println(_scaleY);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Задаем координаты</div><div class="code_line">&nbsp;&nbsp; &nbsp;private void getPoint() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_pointX = new int[_endX - _beginX];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;java.util.Random r = new java.util.Random();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_pointY = new int[_endX - _beginX];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (int i=0; i &#60; _endX - _beginX; i++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_pointX[i] = i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_pointY[i] = r.nextInt((_endY - _beginY));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//getGraph();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void mouseClicked(MouseEvent e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_image = new java.awt.image.BufferedImage(1, 1, java.awt.image.BufferedImage.TYPE_INT_ARGB);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_gImage = _image.createGraphics();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_gImage.translate(0, (double)getHeight());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.repaint();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;getPoint();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//setGenerateImage();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;invalidate();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.repaint();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void mousePressed(MouseEvent e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void mouseReleased(MouseEvent e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void mouseEntered(MouseEvent e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_enableSlider = true;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void mouseExited(MouseEvent e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_enableSlider = false;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void mouseDragged(MouseEvent e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void mouseMoved(MouseEvent e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_mouseX = e.getX();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.repaint();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Переменные</div><div class="code_line">&nbsp;&nbsp; &nbsp;private Color _color;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Ползунки</div><div class="code_line">&nbsp;&nbsp; &nbsp;private boolean _enableSlider = false;</div><div class="code_line">&nbsp;&nbsp; &nbsp;private int _mouseX = 0; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;private int _textSlider = 30; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp;private Color _colorSlider = Color.BLUE; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// График</div><div class="code_line">&nbsp;&nbsp; &nbsp;private int _beginX = 0; </div><div class="code_line">&nbsp;&nbsp; &nbsp;private int _endX = 5000;</div><div class="code_line">&nbsp;&nbsp; &nbsp;private int _beginY = 0; </div><div class="code_line">&nbsp;&nbsp; &nbsp;private int _endY = 500; </div><div class="code_line">&nbsp;&nbsp; &nbsp;private double _scaleX;</div><div class="code_line">&nbsp;&nbsp; &nbsp;private double _scaleY;</div><div class="code_line">&nbsp;&nbsp; &nbsp;private int[] _pointX = new int[0];</div><div class="code_line">&nbsp;&nbsp; &nbsp;private int[] _pointY = new int[0];</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;private java.awt.image.BufferedImage _image;</div><div class="code_line">&nbsp;&nbsp; &nbsp;private java.awt.Graphics2D _gImage;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
При _gImage.draw(line); линии не заносятся в буфер?<br>
_image = new java.awt.image.BufferedImage(...) только память освобождает или заносит туда то что на панели?]]></description>
        <author>Gugle</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=1447831</guid>
        <pubDate>Fri, 09 Feb 2007 13:51:32 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=1447831</link>
        <description><![CDATA[batigoal: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=93494&view=findpost&p=1447369'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gugle &#064; <time class="tag-quote__quoted-time" datetime="2007-02-09T11:03:59+00:00">09.02.07, 11:03</time></span><div class='quote '>Я пробовал сделать через BufferedImage, но ничего не получилось&#33;</div></div><br>
Что не вышло?]]></description>
        <author>batigoal</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=1447369</guid>
        <pubDate>Fri, 09 Feb 2007 11:03:59 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=1447369</link>
        <description><![CDATA[Gugle: Доброго времени суток&#33;<br><br>Возможно ли рисование самого графика осуществить не в paintComponent(Graphics g) а в другой процедуре и сохранить его в память, а в paintComponent(Graphics g) только выводть его? <br>Я пробовал сделать через BufferedImage, но ничего не получилось&#33;]]></description>
        <author>Gugle</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=721794</guid>
        <pubDate>Wed, 18 May 2005 14:11:35 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=721794</link>
        <description><![CDATA[AntonSaburov: В принципе для просто го варианта все может быть гораздо проще. Вот текст программы, которую мне студенты делали. Там правда заполнение векторов данных для графика идет из файла с числами, но никто тебе не мешает сделать заполнение в виде функции.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">import javax.swing.JFrame;</div><div class="code_line">import javax.swing.JPanel;</div><div class="code_line">import javax.swing.JButton;</div><div class="code_line">import javax.swing.JFileChooser;</div><div class="code_line">import java.awt.event.ActionEvent;</div><div class="code_line">import java.awt.event.ActionListener;</div><div class="code_line">import java.io.File;</div><div class="code_line">import java.io.BufferedReader;</div><div class="code_line">import java.io.FileReader;</div><div class="code_line">import java.io.IOException;</div><div class="code_line">import java.util.Vector;</div><div class="code_line">import java.awt.Graphics;</div><div class="code_line">import java.awt.Color;</div><div class="code_line">&nbsp;</div><div class="code_line">public class Graphik extends JFrame</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;public static void main(String[] args)</div><div class="code_line">&nbsp;&nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp;Graphik graphik1 = new Graphik();</div><div class="code_line">&nbsp;&nbsp; &nbsp;graphik1.setDefaultCloseOperation(EXIT_ON_CLOSE);</div><div class="code_line">&nbsp;&nbsp; &nbsp;graphik1.setVisible(true);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;public Graphik()</div><div class="code_line">&nbsp;&nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp;JButton btn = new JButton(&quot;OTKPbITb&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;GraphPanel p = new GraphPanel();</div><div class="code_line">&nbsp;&nbsp; &nbsp;btn.addActionListener(p);</div><div class="code_line">&nbsp;&nbsp; &nbsp;getContentPane().add(&quot;North&quot;, btn);</div><div class="code_line">&nbsp;&nbsp; &nbsp;getContentPane().add(&quot;Center&quot;, p);</div><div class="code_line">&nbsp;&nbsp; &nbsp;setBounds(100, 100, 500, 500);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">class GraphPanel extends JPanel implements ActionListener</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;private Vector vx = new Vector();</div><div class="code_line">&nbsp;&nbsp;private Vector vy = new Vector();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;public void paintComponent(Graphics g)</div><div class="code_line">&nbsp;&nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp;super.paintComponent(g);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int xmax = Integer.MIN_VALUE;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int xmin = Integer.MAX_VALUE;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int ymax = Integer.MIN_VALUE;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int ymin = Integer.MAX_VALUE;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Находим максимальные и минимальные значения</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int i = 0; i &#60; vx.size(); i++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;int x = ( (Integer) vx.get(i)).intValue();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;int y = ( (Integer) vy.get(i)).intValue();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if (x &#62; xmax) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;xmax = x;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if (x &#60; xmin) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;xmin = x;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if (y &#62; ymax) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ymax = y;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if (y &#60; ymin) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ymin = y;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// определяем коэффициенты масштабирования</div><div class="code_line">&nbsp;&nbsp; &nbsp;double Kx = (getWidth()-1)/(xmax-xmin);</div><div class="code_line">&nbsp;&nbsp; &nbsp;double Ky = (getHeight()-1)/(ymax-ymin);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// рисуем</div><div class="code_line">&nbsp;&nbsp; &nbsp;for(int i=1; i&#60;vx.size(); i++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;int x0 = ( (Integer) vx.get(i-1)).intValue();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;int y0 = ( (Integer) vy.get(i-1)).intValue();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;int x1 = ( (Integer) vx.get(i)).intValue();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;int y1 = ( (Integer) vy.get(i)).intValue();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;g.drawLine((int)Kx*(x0-xmin), (int)Ky*(y0-ymin), (int)Kx*(x1-xmin), (int)Ky*(y1-ymin));</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;public void actionPerformed(ActionEvent e)</div><div class="code_line">&nbsp;&nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Вот тут ты можешь заполнять вектора vx и vy расчетными данными а не считывать их из файла.</div><div class="code_line">&nbsp;&nbsp; &nbsp;JFileChooser f = new JFileChooser();</div><div class="code_line">&nbsp;&nbsp; &nbsp;f.showDialog(this, &quot;Выберите файл&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;File fl = f.getSelectedFile();</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (fl == null) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;return;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;try {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;vx.clear();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;vy.clear();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;BufferedReader br = new BufferedReader(new FileReader(fl));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;String S = null;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;while ( (S = br.readLine()) != null) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;String[] d = S.split(&quot;\s+&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;vx.add(new Integer(d[0]));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;vy.add(new Integer(d[1]));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;catch (IOException io_e) {</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;repaint();</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>AntonSaburov</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=714641</guid>
        <pubDate>Fri, 13 May 2005 06:52:18 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=714641</link>
        <description><![CDATA[sny: thanks you   :yes:]]></description>
        <author>sny</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=703111</guid>
        <pubDate>Tue, 03 May 2005 12:26:45 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=703111</link>
        <description><![CDATA[Lamer George: Посмотри в сторону либы <a class='tag-url' href='http://www.jfree.org/jfreechart/' target='_blank'>JFreeChart</a>.]]></description>
        <author>Lamer George</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=702203</guid>
        <pubDate>Mon, 02 May 2005 17:40:14 +0000</pubDate>
        <title>Построение графиков в JAVA</title>
        <link>https://forum.sources.ru/index.php?showtopic=93494&amp;view=findpost&amp;p=702203</link>
        <description><![CDATA[sny: Приветствую многоуважаемый Олл&#33;<br> Подскажите pls, какие существуют способы построения графиков в JAVA, процедуры, примеры кода (Требуется построить график заранее известной математической функции).  :wall: <br><br>З.Ы. Заранее спасибо за любую инфу по этому вопросу. :D]]></description>
        <author>sny</author>
        <category>Java</category>
      </item>
	
      </channel>
      </rss>
	