swing怎么画三角形 已知一个三角形的底和高,也就是知道了面积,不管画在window的什么位置,怎么画出来?public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)这个方法么? 有谁能给写个小例子么?谢谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 至少有两种方法,一直画直线的Point p1; Point p2; Point p3; g.drawLine(p1.x, p1.y, p2.x, p2.y); g.drawLine(p2.x, p2.y, p3.x, p3.y); g.drawLine(p3.x, p3.y, p1.x, p1.y); 另外一种利用Swing 2D多边形APIint[] xPoints = {100, 100, 200}; int[] yPoints = {100, 200, 200}; g.drawPolygon(xPoints, yPoints, 3); 方法一:package test1;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Graphics2D;import javax.swing.JFrame;import javax.swing.JPanel;public class TestA { public static void main(String[] args) { JFrame jf = new JFrame(); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setContentPane(new MyPanelA()); jf.setSize(new Dimension(300,300)); jf.setVisible(true); }}class MyPanelA extends JPanel{ protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; int[] yPoints = {10,30,20}; int[] xPoints = {10,10,30}; int nPoints = 3; g2.drawPolygon(xPoints, yPoints, nPoints); }}方法二:package test1;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Graphics2D;import javax.swing.JFrame;import javax.swing.JPanel;public class TestB { public static void main(String[] args) { JFrame jf = new JFrame(); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setContentPane(new MyPanelB()); jf.setSize(new Dimension(300,300)); jf.setVisible(true); }}class MyPanelB extends JPanel{ protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; g2.drawLine(10, 10, 10, 30); g2.drawLine(10, 30, 30, 20); g2.drawLine(30, 20, 10, 10); }} public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)主要是三个参数弄懂了就会用了,xPoints和yPoints的值是一一对应的,代表x、y坐标的集合,例如: int xPoint[] = {100,200,300}; int yPoint[] = {500,600,700};代表了三个点(100,500),(200,600),(300,700)nPoints代表多边形有几条边 jml程序写的msn头像不能显示指教 为什么总是显示java.lang.NullPointerException 如何获取已经实例化的对象列表,高分在线等 好东西,大家以后说不定能用上,共享一下(顺便测试一下)! 高手帮忙啊!!socket 读写问题 Remote和Local问题 帮帮我,很急,谢谢 高考失败----通过高程----可否就业? 想要学习java不知道在win98下能不能学习java????????????????? 怎么把String转换float? java socket 拆包与组包 关于覆写静态方法的问题
Point p1;
Point p2;
Point p3;
g.drawLine(p1.x, p1.y, p2.x, p2.y);
g.drawLine(p2.x, p2.y, p3.x, p3.y);
g.drawLine(p3.x, p3.y, p1.x, p1.y);
另外一种利用Swing 2D多边形API
int[] xPoints = {100, 100, 200};
int[] yPoints = {100, 200, 200};
g.drawPolygon(xPoints, yPoints, 3);
package test1;import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;import javax.swing.JFrame;
import javax.swing.JPanel;public class TestA { public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setContentPane(new MyPanelA());
jf.setSize(new Dimension(300,300));
jf.setVisible(true);
}
}
class MyPanelA extends JPanel{
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
int[] yPoints = {10,30,20};
int[] xPoints = {10,10,30};
int nPoints = 3;
g2.drawPolygon(xPoints, yPoints, nPoints);
}
}方法二:
package test1;import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;public class TestB { public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setContentPane(new MyPanelB());
jf.setSize(new Dimension(300,300));
jf.setVisible(true);
}
}
class MyPanelB extends JPanel{
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.drawLine(10, 10, 10, 30);
g2.drawLine(10, 30, 30, 20);
g2.drawLine(30, 20, 10, 10);
}
}
主要是三个参数弄懂了就会用了,xPoints和yPoints的值是一一对应的,代表x、y坐标的集合,
例如:
int xPoint[] = {100,200,300};
int yPoint[] = {500,600,700};
代表了三个点(100,500),(200,600),(300,700)
nPoints代表多边形有几条边