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相关