[英]drawing a line between each two points in a list respectively
嗨,我和netbeans一起工作。 我编写了一个具有两个类的代码(1) Demo (2) mainFrame which extends javax.swing.JFrame
首先,将运行我的mainFrame
,它将显示一个面板,您可以在其上放置一些点,然后单击按钮时; 所有点的维将存储在一个列表中,然后将这个列表发送到Demo class
因为我必须按顺序放置点,以便可以分别在每两个点之间绘制一条线。 我在这里有两个问题:
我有该list <listOfPoints>
,如何在不创建mainFrame
类的新对象的情况下将该列表发送到mainFrame
类以绘制线条?
我应该用paint方法吗? 请通过java中的一些代码示例帮助我(使用netbeans)
总计:
I have a lot of points' dimension in my list ,I want to traverse my list in the ie, paint method and draw line between each pi and pi+1.how can I do this?
谢谢
谷歌:netbeans java drawline
第一个答案
搜索
Graphics gg = buffImg.createGraphics();
gg.setColor(Color.MAGENTA);
gg.drawLine(10,10,buffImg.getWidth()-buffImg.getWidth()/10,
http://wws2.uncc.edu/tpw/tpwJavaNtebeansTutorial/index.html
关于你绘制点列表的问题
void drawList(Graphics gg, List points){
MyPointClass prev p = null;
for(MyPointClass p : points){
if(prevp != null){
gg.drawLine(prevp.x, prevp.y, p.x, p.y);
}
prev = p;
}
}
如果你不想将对象从一个帧传递到另一个男性drawList静态然后你可以做MyClassContainingDrawLineMethod.drawList(gg,points);
您使用Netbeans甚至是否重要?
另外,回答:
我认为使用Swing,您通常会覆盖paintComponent(Graphics gg)方法来描述您希望如何绘制面板/框架。 并希望您的程序实际重绘时调用repaint()。
您可能需要阅读本教程: http : //download.oracle.com/javase/tutorial/uiswing/特别是“执行自定义绘画”部分。
另外,请查看API的相应Swing和AWT部分。
您可以使用图形类的drawLine()方法绘制线条。 或者使用Line类(Line2D.Double等)来表示你的行然后去,graphicsObject.draw(line)等。
您可以做的就是将点添加到列表中,然后再添加到图形面板中(每次添加时都重新绘制),然后在按下按钮时,您可以运行该方法以在按钮的actionListener中处理列表。 所以类似:list = demo.processList(list)。 其中processList具有标题,例如:public List processList(List toProcess)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.