[面试题] 在整个窗口内有办法判断鼠标是不是被按下在那里呢?大家帮忙下。 顶者给分,判断鼠标左键是否被一直按下,比如当左键按下时执行 i++, 释放时停止计算,大家能做到吗?一个面试题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我一直觉得 你是小熊猫的 马甲... mouseListener 不就行了. 然后在响应事件里面执行i++ 用一个比较比较笨的方式,当mousePressed时,判断是否为鼠标左键。如果是,记录下来,一个flag,在flag为true时,一直执行 i++,当mouseReleased时,判断是否是鼠标左键,如果是,则flag为false,停止计算。import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;/** * @author bzwm * */public class C extends JFrame implements MouseListener{ private boolean pressed = false; private int count = 0; public C(){ this.setSize(300, 200); this.setVisible(true); this.addMouseListener(this); new Thread(new Runnable(){ public void run() { // TODO Auto-generated method stub add(); } }).start(); } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent) */ public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent) */ public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent) */ public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent) */ public void mousePressed(MouseEvent e) { if(e.getButton() == 1){ pressed = true; } } private void add(){ while(true){ if(pressed) count++; } } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent) */ public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub if(e.getButton() == 1){ pressed = false; System.out.println(count); } } public static void main(String args[]){ new C(); }} 就用MouseListener接口中的mousePress就可以啊.....有什么问题吗????????还是有特殊的时间要求... 怎样判断输入的是0-100的整数? eclipse打点提示 RMIJDBC异常问题 跪求一排序算法 SWT中向Text追加信息? 正则表达式如何匹配表格? 谁知道竖表如何给表格加颜色?谢谢 JTree如何选中一个结点的问题!!! 哪位帮我解决,我送666分.... WIN98中,如何注冊.class 組件,供其他語言調用? 关于java的多线程管理,是由谁来实现的? java rmi到底怎么用呢?能够给点具体的说明和例子么?
mouseListener 不就行了. 然后在响应事件里面执行i++
如果是,记录下来,一个flag,在flag为true时,一直执行 i++,当mouseReleased时,判断是否是鼠标左键,
如果是,则flag为false,停止计算。
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;/**
* @author bzwm
*
*/
public class C extends JFrame implements MouseListener{ private boolean pressed = false;
private int count = 0;
public C(){
this.setSize(300, 200);
this.setVisible(true);
this.addMouseListener(this);
new Thread(new Runnable(){
public void run() {
// TODO Auto-generated method stub
add();
}
}).start();
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
*/
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
} /* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
*/
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
} /* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
*/
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
} /* (non-Javadoc)
* @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
*/
public void mousePressed(MouseEvent e) {
if(e.getButton() == 1){
pressed = true;
}
}
private void add(){
while(true){
if(pressed)
count++;
}
} /* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
*/
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getButton() == 1){
pressed = false;
System.out.println(count);
}
}
public static void main(String args[]){
new C();
}
}
还是有特殊的时间要求...