当前位置:编程学习 > JAVA >>

Java小白问题:关于随手画画板的一个小问题~

import java.awt.*;
 import javax.swing.*;
 import java.awt.event.*;
 
 public class tem extends MouseAdapter
 {
      JFrame jf=new JFrame("tem");
         int oldX=-1,oldY=-1;
 
     public static void main(String [] args)
     {
      tem t=new tem();
     }
 
     public tem()
     {
 
         jf.addMouseListener(this);
         jf.addMouseMotionListener(this);
         jf.setVisible(true);
         jf.setSize(400,300);
         jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
         public void mouseReleased(MouseEvent e)
         {
          oldX=-1;
         }
 
         public void mouseDragged(MouseEvent e)
         {
          int x=e.getX();
          int y=e.getY();
          if(oldX==-1)
          {
          oldX=x;
          oldY=y;
          return;
          }
         Graphics g=jf.getGraphics();
         g.drawLine(oldX,oldY,x,y);
         oldX=x;
         oldY=y;
         }
 

 }
------------------------------------------------------------------------------------------------
上面是源代码,问题是:

public void mouseReleased(MouseEvent e)
         {
          oldX=-1;
         }
 
         public void mouseDragged(MouseEvent e)
         {
          int x=e.getX();
          int y=e.getY();
          if(oldX==-1)
          {
          oldX=x;
          oldY=y;
          return;
          }
         Graphics g=jf.getGraphics();
         g.drawLine(oldX,oldY,x,y);
         oldX=x;
         oldY=y;
         }
 
这个是模拟画板时,监听器里的两个重写的方法,mouseDragged里开始对e.getX()...e.getY()只是在拖动鼠标时才发生的,那点下去时的坐标怎么得到(作为drawLine的起始点)?难道mouseDragged在点下时也算在拖动里面了吗?
------------------------------------------------------------------------------------------------ 
还有,比如我想在println时想在屏幕上显示一满行的*,那我println()里的*数量应该怎么控制?就是要输入多少个*?还是说有什么制表符控制*什么的? --------------------编程问答-------------------- 在println时想在屏幕上显示一满行的*


——————————————————————————
我想是根据你画板屏幕的长度来控制输出“*”吧。。还可能要考虑哈,缩放画板时显示的情况。。
具体情况具体分析,BD~~~
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,