请教鼠标画图的问题,解决立即结贴 去http://forum.java.sun.com/index.jsp问吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的repaint()调用的太频繁了吧,每次调用repaint()都会调用你写的paint()方法。你修改一下,把repaint()去掉会好些。这是我的一个用鼠标画图的简单程序,不是Applet下的,不过我想原理应该差不多吧,参考一下吧import javax.swing.*;import java.awt.*;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.Graphics2D;public class TestPanel extends JFrame { JPanel panel = new JPanel(); JPanel pnlCtl = new JPanel(); JButton button = new JButton("Draw line"); JButton button2 = new JButton("Clear all"); public TestPanel() { Container cp = this.getContentPane(); cp.add(panel,BorderLayout.CENTER); button.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent me) { Graphics2D g2 = (Graphics2D) panel.getGraphics(); g2.drawRect(20,20,100,300); } }); button2.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent me) { panel.getGraphics().clearRect(0,0,700,400); } }); pnlCtl.add(button); pnlCtl.add(button2); cp.add(pnlCtl,BorderLayout.NORTH); setSize(800,600); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.show(); } public static void main(String[] args) { TestPanel testPanel = new TestPanel(); }} 是屏幕刷新的问题,你应该在repaint()中,把画的图案重新加载到屏幕上,这样才不会消失! 怎么将页面上的数据转换到数据库中 谁帮忙解释下这个语法 初学递归算法。 如何打印一个汉字的区码? Socket问题,大家帮帮忙,在线等!!!!!! servlet中根据参数判断调用哪个方法的问题 小问题,回答后马上给分! 如何保持程序与网页连接状态 我现在用VJ++调试JAVA程序,有些疑问 如何将JB 中的一个JPX 打包成一个JAR???? 错在哪里?急急急急急急急急急急急急急急急急急急急急急急急急急 关于算法问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!
每次调用repaint()都会调用你写的paint()方法。
你修改一下,把repaint()去掉会好些。这是我的一个用鼠标画图的简单程序,
不是Applet下的,不过我想原理应该差不多吧,参考一下吧
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.Graphics2D;
public class TestPanel extends JFrame {
JPanel panel = new JPanel();
JPanel pnlCtl = new JPanel();
JButton button = new JButton("Draw line");
JButton button2 = new JButton("Clear all");
public TestPanel() {
Container cp = this.getContentPane();
cp.add(panel,BorderLayout.CENTER);
button.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent me)
{
Graphics2D g2 = (Graphics2D) panel.getGraphics();
g2.drawRect(20,20,100,300);
}
});
button2.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent me)
{
panel.getGraphics().clearRect(0,0,700,400);
}
});
pnlCtl.add(button);
pnlCtl.add(button2);
cp.add(pnlCtl,BorderLayout.NORTH);
setSize(800,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.show();
}
public static void main(String[] args) {
TestPanel testPanel = new TestPanel();
}
}