java图形编辑
我绘制了一个矩形,但是当再绘制其它图形时,先前的那个矩形会被擦除,怎么才能解决啊,急救!!!我用了ArrayList来存储所画的图形,也不能解决。 --------------------编程问答-------------------- swing吗?重绘了. --------------------编程问答-------------------- 上代码 --------------------编程问答-------------------- 都不知道你代码怎么写的,怎么给你建议从你描述的现象,你肯定是每画一个新的图形都调用了一次清除的过程
比如 super.paintComponent 啊什么的
如果你的重写的 paintComponent 方法
那你就应该在这个方法里一次性把 ArrayList 中所有的图形都画完,只在开头调一次 super.paintComponent --------------------编程问答-------------------- 给你个不错的视频教程你可以看看,也许有用
视频简介
DRP分销资源计划项目之业务介绍
DRP分销资源计划项目之数据库设计
北京动力节点_DRP分销资源计划项目之HTML
北京动力节点_DRP分销资源计划项目之CSS
北京动力节点_DRP分销资源计划项目之JavaScript
北京动力节点_DRP分销资源计划项目之Ajax
北京动力节点_DRP分销资源计划项目之JSP
北京动力节点_DRP分销资源计划项目之Servlet
北京动力点_DRP分销资源计划项目之JDBC
北京动力节点_DRP分销资源计划项目之XML
北京动力节点_DRP分销资源计划项目之JSTL
北京动力节点_DRP分销资源计划项目之CVS
北京动力节点_DRP分销资源计划项目之Web Services
北京动力节点_DRP分销资源计划项目之Tomcat
北京动力节点_DRP分销资源计划项目之设计模式
北京动力节点_DRP分销资源计划项目之设计原则
北京动力节点_DRP分销资源计划项目之UML
北京动力节点_Struts
北京动力节点_Spring
北京动力节点_Hibernate --------------------编程问答-------------------- 一般不会的.除非你清除了,就算是清除你也可以从新画 --------------------编程问答-------------------- 我也想知道这是怎么回事! --------------------编程问答-------------------- private ArrayList<Shape> shapes = new ArrayList<Shape>();
public void addShape(Shape s){
shapes.add(s);
repaint();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setPaint(Color.BLACK);
for(Shape shape : shapes){
g2d.draw(shape);
}
} --------------------编程问答-------------------- 看看这个程序,对你有些帮助吗~~
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class b
{
public static void main(String[] args)
{
DrawFrame frame = new DrawFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
/**
A frame that contains a panel with drawings
*/
class DrawFrame extends JFrame
{
public DrawFrame()
{
setTitle("DrawTest");
setSize(WIDTH, HEIGHT);
// add panel to frame
DrawPanel panel = new DrawPanel();
Container contentPane = getContentPane();
contentPane.add(panel);
}
public static final int WIDTH = 400;
public static final int HEIGHT = 400;
}
/**
A panel that displays rectangles and ellipses.
*/
class DrawPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
// draw a rectangle
double leftX = 100;
double topY = 100;
double width = 200;
double height = 150;
Rectangle2D rect = new Rectangle2D.Double(leftX, topY,
width, height);
g2.draw(rect);
// draw the enclosed ellipse
Ellipse2D ellipse = new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
// draw a diagonal line
g2.draw(new Line2D.Double(leftX, topY,
leftX + width, topY + height));
// draw a circle with the same center
double centerX = rect.getCenterX();
double centerY = rect.getCenterY();
double radius = 150;
Ellipse2D circle = new Ellipse2D.Double();
circle.setFrameFromCenter(centerX, centerY,
centerX + radius, centerY + radius);
g2.draw(circle);
}
}
补充:Java , Java SE