java画直线,画出来的直线断不了 java 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码见下面:下面是DrawPanel类的几个主要成员变量和成员函数,(class DrawPanel extends JPanel implements MouseListener): // Array数组记录所有的形状,ArrayList为动态数组 private ArrayList<Shape> Array = new ArrayList<Shape>(); Point startPoint = new Point(), endPoint = new Point(); /** * 按下鼠标,取得起点坐标 */ @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub if (e.getButton() == MouseEvent.BUTTON1) { startPoint.x = e.getX(); startPoint.y = e.getY(); mouseOpStat = MOUSEOP_DRAWSHAPE; } } /** * 释放鼠标,取得终点坐标 */ @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub if (e.getButton() == MouseEvent.BUTTON1) { endPoint.x = e.getX(); endPoint.y = e.getY(); Line line = new Line(startPoint, endPoint); Array.add(line); repaint(); } } public void paint(Graphics g) { for (int i = 0; i < Array.size(); i++) { Line line = new Line(startPoint, endPoint); line.Draw(g); }下面是Line类:package shape;import java.awt.*;import javax.swing.*;/** * 直线类 * * @author Administrator * */public class Line extends Shape { Point startPoint=new Point(), endPoint=new Point(); public Line(){ } public Line(Point startPoint,Point endPoint){ this.startPoint=startPoint; this.endPoint=endPoint; } public void setStartPoint(Point p) { // TODO Auto-generated method stub startPoint = p; } public void setEndPoint(Point p) { // TODO Auto-generated method stub endPoint = p; } public void Draw(Graphics g) { // TODO Auto-generated method stub g.drawLine(startPoint.x, startPoint.y, endPoint.x, endPoint.y); }}下面是Shape类:package shape;import java.awt.*;/** * 图形类 * * @author Administrator * */public class Shape { public Shape(){ } public void setStartPoint(Point p){ } public void setEndPoint(Point p){ } /** * 画图 */ public void Draw(Graphics g){ } /** * 获得图形的类型 * * @return */ public int GetType(){ return 0; }} 1.没清空画布,2.Array好像用错了。 java能 开发 桌面应用程序吗? 或者说java 开发 的桌面应用程序有实际应用吗? 垃圾回收为什么是2个对象? nio socket通信,如何解决客户端断开的情况 序列化到本地时少见问题(千年遇一次) 找某集合中任意元素之和最接近于一指定值的所有的元素的算法 新手请教! 基础问题,没脸问了。。。。。。 一个JDBC例子,有问题,不知道为什么,请大家帮帮忙 "helloworld"在dos环境下,编译运行正常;但是在editplus中运行出错! java程序怎么变成可以单独执行的文件,不需要java xxx.class. 求大神解决java界面图片显示问题 我的路应该怎么走更稳健
代码见下面:下面是DrawPanel类的几个主要成员变量和成员函数,(class DrawPanel extends JPanel implements MouseListener): // Array数组记录所有的形状,ArrayList为动态数组
private ArrayList<Shape> Array = new ArrayList<Shape>(); Point startPoint = new Point(), endPoint = new Point(); /**
* 按下鼠标,取得起点坐标
*/
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
if (e.getButton() == MouseEvent.BUTTON1) {
startPoint.x = e.getX();
startPoint.y = e.getY();
mouseOpStat = MOUSEOP_DRAWSHAPE;
}
} /**
* 释放鼠标,取得终点坐标
*/
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
if (e.getButton() == MouseEvent.BUTTON1) {
endPoint.x = e.getX();
endPoint.y = e.getY();
Line line = new Line(startPoint, endPoint);
Array.add(line);
repaint();
}
} public void paint(Graphics g) {
for (int i = 0; i < Array.size(); i++) {
Line line = new Line(startPoint, endPoint);
line.Draw(g);
}
下面是Line类:package shape;import java.awt.*;import javax.swing.*;/**
* 直线类
*
* @author Administrator
*
*/
public class Line extends Shape { Point startPoint=new Point(), endPoint=new Point();
public Line(){
}
public Line(Point startPoint,Point endPoint){
this.startPoint=startPoint;
this.endPoint=endPoint;
}
public void setStartPoint(Point p) {
// TODO Auto-generated method stub
startPoint = p;
} public void setEndPoint(Point p) {
// TODO Auto-generated method stub
endPoint = p;
} public void Draw(Graphics g) {
// TODO Auto-generated method stub
g.drawLine(startPoint.x, startPoint.y, endPoint.x, endPoint.y);
}}下面是Shape类:package shape;import java.awt.*;
/**
* 图形类
*
* @author Administrator
*
*/
public class Shape { public Shape(){
}
public void setStartPoint(Point p){
} public void setEndPoint(Point p){
} /**
* 画图
*/
public void Draw(Graphics g){
} /**
* 获得图形的类型
*
* @return
*/
public int GetType(){
return 0;
}}