正文
java鼠标监听事件代码 js鼠标监听
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
java中SWT鼠标单击事件监听器
package test;
import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Csk extends Frame
{
private static final long serialVersionUID = 1L;
public static void main ( String[] args )
{
Csk csk = new Csk ();
csk.setTitle ("Csk");
csk.addMouseListener (new MouseAdapter ()
{
@Override
public void mousePressed ( MouseEvent e )
{
System.out.println ("down");
}
@Override
public void mouseReleased ( MouseEvent e )
{
System.out.println ("up");
}
});
csk.addWindowListener (new WindowAdapter ()
{
@Override
public void windowClosing ( WindowEvent e )
{
System.exit (0);
}
});
csk.setSize (399, 399);
csk.setLocationRelativeTo (null);
csk.setVisible (true);
}
}
Java 鼠标监听事件 mouseMoved(MouseEvent)
public class BtnText1 extends JFrame implements MouseMotionListener
不需要实现MouseMotionListener接口,你已经用了addMouseMotionListener方法
MouseAdapter类已经是实现了MouseMotionListener接口的。
改成
public class BtnText1 extends JFrame
可以运行成功
Java中如何在windows桌面上添加鼠标监听事件
去下载 JInvoke , 这是一个例子:如果网上找不到 JInvoke.jar,java鼠标监听事件代码我传java鼠标监听事件代码了一个到网站java鼠标监听事件代码了, 打开后在上级目录[..]java鼠标监听事件代码的myfiles目录里能找到.ji.zip即是
import static com.jinvoke.win32.WinConstants.*;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import com.jinvoke.Callback;
import com.jinvoke.JInvoke;
import com.jinvoke.NativeImport;
import com.jinvoke.Util;
import com.jinvoke.win32.User32;
import com.jinvoke.win32.structs.Msg;
public class MouseHook extends JPanel{
static {
JInvoke.initialize();
}
@NativeImport(library = "user32")
public native static int SetWindowsHookEx (int idHook, Callback hookProc, int hModule, int dwThreadId);
@NativeImport(library = "user32")
public native static int UnhookWindowsHookEx (int idHook);
public static final int WH_MOUSE_LL = 14;
static JFrame frame;
static TextArea mouseEventArea = new TextArea();
static JButton setHookBtn;
static JButton removeHookBtn;
public MouseHook() {
super(new BorderLayout());
mouseEventArea.setText("1) Click the \"Set Mouse Hook\" button.\n" +
"2) Start clicking anywhere on the desktop. Mouse clicks will be captured here.\n" +
"3) Stop the mouse hook by clicking the \"Remove Mouse Hook\" button.\n\n");
JScrollPane MouseEventPane = new JScrollPane(mouseEventArea);
add(MouseEventPane, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
buttonPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
setHookBtn = new JButton("Set Mouse Hook");
setHookBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
setMouseHook();
}} );
removeHookBtn = new JButton("Remove Mouse Hook");
removeHookBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
unsetMouseHook();
}} );
removeHookBtn.setEnabled(false);
buttonPanel.add(setHookBtn);
buttonPanel.add(removeHookBtn);
add(buttonPanel, BorderLayout.SOUTH);
}
private void setMouseHook() {
setHookBtn.setEnabled(false);
removeHookBtn.setEnabled(true);
// This hook is called in the context of the thread that installed it.
// The call is made by sending a message to the thread that installed the hook.
// Therefore, the thread that installed the hook must have a message loop.
//
// We crate a new thread as we don't want the AWT Event thread to be stuck running a message pump
// nor do we want the main thread to be stuck in running a message pump
Thread hookThread = new Thread(new Runnable(){
public void run() {
if (MouseProc.hookHandle == 0) {
int hInstance = User32.GetWindowLong(Util.getWindowHandle(frame), GWL_HINSTANCE);
MouseProc.hookHandle = SetWindowsHookEx(WH_MOUSE_LL,
new Callback(MouseProc.class, "lowLevelMouseProc"),
hInstance,
0);
// Standard message dispatch loop (message pump)
Msg msg = new Msg();
while (User32.GetMessage(msg, 0, 0, 0)) {
User32.TranslateMessage(msg);
User32.DispatchMessage(msg);
}
} else {
mouseEventArea.append("The Hook is already installed.\n");
}
}});
hookThread.start();
}
private void unsetMouseHook() {
setHookBtn.setEnabled(true);
removeHookBtn.setEnabled(false);
UnhookWindowsHookEx(MouseProc.hookHandle);
MouseProc.hookHandle = 0;
}
private static void createAndShowGUI() {
//Create and set up the window.
frame = new JFrame("Mouse Hook");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MouseHook MouseEventsWindow = new MouseHook();
MouseEventsWindow.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
//Add content to the window.
frame.add(MouseEventsWindow, BorderLayout.CENTER);
//Display the window.
frame.pack();
frame.setBounds(300, 200, 750, 600);
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
class MouseProc {
static int hookHandle;
@NativeImport(library = "user32")
public native static int CallNextHookEx (int idHook, int nCode, int wParam, int lParam);
static {
JInvoke.initialize();
}
public static int lowLevelMouseProc(int nCode, int wParam, int lParam ) {
if (nCode 0)
return CallNextHookEx(hookHandle, nCode, wParam, lParam);
if (nCode == HC_ACTION) {
MouseHookStruct mInfo = Util.ptrToStruct(lParam, MouseHookStruct.class);
String message = "Mouse pt: (" + mInfo.pt.x + ", " + mInfo.pt.y + ") ";
switch (wParam) {
case WM_LBUTTONDOWN:
message += "Left button down";
break;
case WM_LBUTTONUP:
message += "Left button up";
break;
case WM_MOUSEMOVE:
message += "Mouse moved";
break;
case WM_MOUSEWHEEL:
message += "Mouse wheel rotated";
break;
case WM_RBUTTONDOWN:
message += "Right button down";
break;
case WM_RBUTTONUP:
message += "Right button down";
break;
}
System.out.println(message);
// MouseHook.mouseEventArea.append(message+"\n");
}
return CallNextHookEx(hookHandle, nCode, wParam, lParam);
}
}
=============================================
import com.jinvoke.NativeStruct;
import com.jinvoke.win32.structs.Point;
@NativeStruct
public class MouseHookStruct {//MSLLHOOKSTRUCT
public Point pt = new Point();
public int mouseData;
public int flags;
public int time;
public int dwExtraInfo;
}
Java 程序实现鼠标点击 键盘等事件
Java提供了两个事件侦听接口用来管理鼠标移动和键盘动作,分别是MouseMotionListener和KeyListener,可以用它们来捕捉鼠标和键盘。
1)类KeyMonitor,是一个JPanel的扩展类,用来显示捕捉到的按键信息;
2)类MouseMonitor,也是一个JPanel的扩展类,用来显示到的鼠标移动信息;
3)入口类Main,用匿名类的方式实现了真正的监听接口;
PS:Java提供的这两个侦听器都有很大的限制,鼠标监听只有在鼠标位于Java程序所在的窗口范围之内才能有效,而键盘监听限制更严格,仅当Java程序成为当前的活动窗口时才有效。单纯用Java来实现全屏幕、所有程序的鼠标和键盘活动是不可行的。
java代码帮忙注释下!O(∩_∩)O谢谢要考试了,不懂啊!可以的话每段后面注释下!
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
/**
* 继承JFrame 实现 MouseMotionListenerjava鼠标监听事件代码,ActionListener
*
*/
public class Exe10_1 extends JFrame implements MouseMotionListener,
ActionListener {
JLabel tracer;//声明一个JLabel
JButton start;//声明一个JButton
boolean tracing = true;// 定义一个Boolean变量
/**
* 构造函数
*/
public Exe10_1() {
super("鼠标跟踪");//设置JFramejava鼠标监听事件代码的title
setBounds(300, 300, 300, 300); // JFrame大小
setLayout(new FlowLayout()); //JFramejava鼠标监听事件代码的布局为FlowLayout
tracer = new JLabel();//给刚才声明的JLabel赋值
tracer.setPreferredSize(new Dimension(100, 30));//
tracer.setBackground(Color.blue);//设置背景色
tracer.setForeground(Color.white);//设置前景色
tracer.setOpaque(true);
addMouseMotionListener(this);//整个JFrame监听鼠标事件
add(tracer); //JFrame添加JLabel
start = new JButton("停止跟踪");//Jbutton初始化的名字为“停止跟随”
start.addActionListener(this);//JButton添加监听事件
add(start);//JFrame添加JLabel
setVisible(true);//JFrame的可见性
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//右上角的【关闭】按钮
}
/* (当按下鼠标 不放开时 滑动鼠标 JLabel上打印内容)
* @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent)
*/
public void mouseDragged(MouseEvent e) {
tracer.setText("(x,y) = (" + e.getX() + "," + e.getY() + ")");
}
/* (鼠标在JFrame上滑动时 JLabel上打印内容)
* @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)
*/
public void mouseMoved(MouseEvent e) {
tracer.setText("(x,y) = (" + e.getX() + "," + e.getY() + ")");
}
/* (鼠标监听事件处理)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
if (tracing == true) {
removeMouseMotionListener(this);//JFrame移除监听鼠标事件
start.setText("继续跟踪");//JLabel重新设置Text
tracing = false;
} else {
addMouseMotionListener(this);//JFrame添加鼠标事件监听
start.setText("停止跟踪");//JLabel重新设置Text
tracing = true;
}
}
/** 程序入口
* @param args
*/
public static void main(String[] args) {
Exe10_1 frame = new Exe10_1();//生成一个Exe10_1的实例 实例名为java鼠标监听事件代码:frame
}
}
希望对java鼠标监听事件代码你有帮助
java鼠标监听事件代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js鼠标监听、java鼠标监听事件代码的信息别忘了在本站进行查找喔。