【问题标题】:How do I plot 2 points in a graph in a GUI?如何在 GUI 的图中绘制 2 个点?
【发布时间】:2013-05-06 00:36:25
【问题描述】:

我正在尝试制作一个 GUI,它将在折线图中绘制 2 个点并从这两个点绘制一条线段。

我在任何 Java 教科书中都找不到任何示例,而且我尝试搜索的几乎每个示例都过于复杂,无法在短时间内理解。

有没有什么方法可以轻松地向 Java 初学者解释图形?

【问题讨论】:

  • almost every example that I try to search for is too complex to understand in the short amount of time that I have - 学习编程需要时间。我们不是来为您编写代码,只是为您指明正确的方向。所以你可以从Graphics.drawLine(...)开始。或者你可能想要Graphics.drawPolyline()
  • 嘿,如果您是编程新手,我将与您分享一个多年前对我很有帮助的网站(无从属关系)。 zetcode.com 它有大量用于 Java2D 工作的教程,包括非游戏和面向游戏的方面,以及许多其他语言的教程。希望这可以帮助您走向 Java 编程的辉煌!

标签: java graphing


【解决方案1】:

使用 Canvas 作为您的绘图表面。

使用 drawLine() 函数在 X1,Y1 和 X2,Y2 之间画一条线。

为此有很多示例,例如: http://mainline.brynmawr.edu/Courses/cs110/fall2003/Applets/CanvasExample/CanvasExample.html

或者这个: http://www.java2s.com/Code/Java/2D-Graphics-GUI/Drawcanvaswithcolorandtext.htm

劳伦斯

【讨论】:

  • 你的第一个例子已经过时了 - 恕我直言,最好尽可能使用 Swing
  • 是的......只是试图让 OP 保持非常简单
  • 总是很高兴简单:) 但你只是混合到不同的框架:P
【解决方案2】:

根据我的个人经验,在 GUI 中绘制线条的最简单方法是使用paint(Graphics g) 方法。在其中,使用 g.drawLine(x1,y1,x2,y2);画线。

import javax.swing.*;
public class JGraph extends JPanel 
{
  public void paint(Graphics g)
  {
    g.drawLine(x1,y1,x2,y2);
  }
}

*附带说明,此方法的坐标系从前面代码中选择的 GUI 对象的左上角开始。

【讨论】:

    【解决方案3】:

    你是怎么搜索的??

    How to draw lines in Java

    Short example

    然后搜索 API

    Point

    Graphics

    【讨论】:

    • 来自 java2s.com。 :D 怪他们。
    • 我很乐意,但现在您只是将其作为一个可行的良好来源进行引用。不要责怪枪支制造商;)
    【解决方案4】:

    为了画出终极线条,我想出了以下代码:

    public void drawUltimate(Graphics g, int x, int y, int x2, int y2){
        int ex=0,ey=0,ex2=0,ey2=0, mx, my;
        mx = x2-x;my = y2-y;
        //drawLine(jPanel1.getGraphics(), x, y, x2, y2);
        for (int i=0; i<100; i++){
            ex += mx;
            ey += my;
    
            drawLine(jPanel1.getGraphics(), ex2+1, ey2-2, ex, ey);
            ex2 =ex; ey2 =ey;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-21
      • 2014-03-15
      • 1970-01-01
      • 2023-03-24
      • 2022-06-10
      • 1970-01-01
      • 2019-01-16
      • 2014-08-03
      相关资源
      最近更新 更多