java滑鼠點擊事件
❶ java 滑鼠點擊事件
package click;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GUI {
JFrame frame ;
JPanel panel ;
public GUI() {
this.frame = createFrame() ;
this.panel = createPanel() ;
frame.add(panel);
frame.setSize(600,600);
frame.setLocation(100,100);
frame.setVisible(true);
}
private JPanel createPanel() {
JPanel p = new JPanel() ;
final JPanel pp = createPanelNew() ;
JButton b1 = new JButton("顯示") ;
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("顯示");
pp.setVisible(true) ;
}
}) ;
JButton b2 = new JButton("隱藏") ;
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("隱藏");
pp.setVisible(false) ;
}
}) ;
p.add(pp) ;
p.add(b1) ;
p.add(b2) ;
return p;
}
private JPanel createPanelNew() {
JPanel p = new JPanel() ;
p.setBackground(new Color(255, 100, 0)) ;
p.setVisible(false) ;
return p;
}
private JFrame createFrame() {
JFrame f = new JFrame("隱藏面板測試") ;
return f;
}
public static void main(String[] args) {
new GUI() ;
}
}
❷ 用java寫一個單擊滑鼠事件
使用組件的paint函數用於繪圖, 使用MouseListener來響應滑鼠的點擊
效果圖
importjava.awt.Color;
importjava.awt.Graphics;
importjava.awt.event.*;
importjavax.swing.*;
{
publicDemoWin(){
=newMyPanel();
mp.addMouseListener(mp);
add(mp);
//窗口屬性設置
setTitle("Demo");//標題
setSize(300,280);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//窗口點擊關閉時,退出程序
}
publicstaticvoidmain(String[]args){
DemoWinwin=newDemoWin();//創建窗口
win.setVisible(true);//顯示窗口
}
{
inttimes;//記錄點擊的次數
intx;//記錄滑鼠X軸的位置
inty;//記錄滑鼠Y軸的位置
@Override
publicvoidpaint(Graphicsg){
super.paint(g);
if(times==0){
g.setColor(Color.BLUE);//顏色
g.fillOval(150,150,50,50);//150,150代表位置50,50代表寬高
}elseif(times==1){
g.setColor(Color.RED);
g.fillRect(150,150,50,50);
}else{
g.setColor(Color.RED);
g.fillRect(x,y,50,50);
}
repaint();
}
publicvoidmouseClicked(MouseEvente){
//if(e.getButton()==MouseEvent.BUTTON1){//單擊左鍵時有效..
//times++;//記錄點擊的次數
//x=e.getX();
//y=e.getY();
//}
}
publicvoidmousePressed(MouseEvente){//滑鼠按下就有效
times++;//記錄點擊的次數
x=e.getX();
y=e.getY();
}
publicvoidmouseReleased(MouseEvente){//滑鼠釋放
}
publicvoidmouseEntered(MouseEvente){//滑鼠移入
}
publicvoidmouseExited(MouseEvente){//滑鼠移出
}
}
}
❸ JAVA滑鼠雙擊事件
ava 沒有直接獲取滑鼠雙擊事件的方法,因此我們可以在用戶每發生單擊事件時延時執行,
當時間在這段時間內用戶又一次發生了單擊事件,那麼就直接執行雙擊事件,取消上次的單擊事件
package com.aowin.stuff.Lisnter;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyMouseListener extends MouseAdapter {
private static boolean flag = false;
// 用來判斷是否已經執行雙擊事件
private static int clickNum = 0;
// 用來判斷是否該執行雙擊事件
@Override
public void mouseClicked(MouseEvent e) {
// final MouseEvent me = e;
MyMouseListener.flag = false;
System.out.println(clickNum);
if (MyMouseListener.clickNum == 1) {// 1時執行雙擊事件
System.out.println("執行雙擊事件");
MyMouseListener.clickNum = 0;
MyMouseListener.flag = true;
return;
}
// 定義定時器
Timer timer = new Timer();
// 定時器開始執行,延時0.2秒後確定是否執行單擊事件
timer.schele(new TimerTask() {
private int n = 0;
// 記錄定時器執行次數
@Override
public void run() {
if (MyMouseListener.flag) {
MyMouseListener.clickNum = 0;
this.cancel();
return;
}
if (n == 1) {
System.out.println("執行單擊事件");
MyMouseListener.flag = true;
MyMouseListener.clickNum = 0;
n = 0;
this.cancel();
return;
}
clickNum++;
n++;
System.out.println("第" + n);
System.out.println(clickNum);
}
}, new Date(), 200);
//上邊的意思是,單擊第一次會運行一次run方法clickNum 會加1,然後0.2秒後再執行Run方法 //如果在這0.2秒中間用戶又單擊了事件,那就會運行開頭的雙擊事件
}
}
❹ Java 程序實現滑鼠點擊 鍵盤等事件
用 Robot 類的如下方法:
void keyPress(int keycode)
按下給定的鍵。
void keyRelease(int keycode)
釋放給定的鍵。
void mouseMove(int x, int y)
將滑鼠指針移動到給定屏幕坐標。
void mousePress(int buttons)
按下一個或多個滑鼠按鈕。
void mouseRelease(int buttons)
釋放一個或多個滑鼠按鈕。
void mouseWheel(int wheelAmt)
在配有滾輪的滑鼠上旋轉滾輪。
❺ java 代碼操作滑鼠點擊
Onclick()?
你是說Java 代碼 還是 js 代碼啊/
js 的話你可以 使用定時任務那樣的 傳遞一個函數,一個時間 他就會調用那個你傳遞的函數
請點贊。
❻ Java滑鼠雙擊事件
是你的判斷有問題吧,沒判斷當前窗體是否是最大化,不知道理解的對不對。
importjavax.swing.*;
importjava.awt.event.*;
importjava.awt.*;
{
=1L;
booleanIS_MAXIMIZED=false;
publicMouseDemo(){
super("DoubleClickDemo");
this.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEvente){
if(e.getClickCount()==2){
if(IS_MAXIMIZED){
setExtendedState(JFrame.NORMAL);
IS_MAXIMIZED=false;
}else{
setExtendedState(JFrame.MAXIMIZED_BOTH);
IS_MAXIMIZED=true;
}
}
}
});
this.setSize(newDimension(200,150));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(Stringargs[]){
newMouseDemo().setVisible(true);
}
}
❼ java滑鼠點擊事件怎麼做
java滑鼠點擊事件的方法如下:
<spanstyle="font-family:Verdana;">事件源</span>.addMouseListener(newMouseAdapter(){//建立事件處理機制
@Override
publicvoidmouseClicked(MouseEvente){
if(e.getButton()==e.BUTTON1){//點擊滑鼠左鍵
intx=e.getX();
inty=e.getY();
Stringstr="您點擊的是左鍵,滑鼠當前點擊位置的坐標是("+x+","+y+")";
label.setText(str);
}elseif(e.getButton()==e.BUTTON2){//點擊滑鼠滑輪
intx=e.getX();
inty=e.getY();
Stringstr="您點擊的是滑輪,滑鼠當前點擊位置的坐標是("+x+","+y+")";
label.setText(str);
}
elseif(e.getButton()==e.BUTTON3){//點擊滑鼠右鍵
intx=e.getX();
inty=e.getY();
Stringstr="您點擊的是右鍵,滑鼠當前點擊位置的坐標是("+x+","+y+")";
label.setText(str);
}
}
});
e.getButton()返回值分別為NOBUTTON、BUTTON1、BUTTON2、BUTTON3,分別代表著無點擊、左擊、中間鍵、右擊三種情況。
❽ java滑鼠點擊事件
給你一個例子,太難講了
我自己寫的
package guidemo;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
/**
* <p>Title: 圖形用戶界面</p>
*
* <p>Description: 簡單的圖形界面編程</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author vic
* @version 1.0
*/
public class ColorFrame extends Frame implements MouseListener {
Label L; //標簽
TextField T; //文本域
Button B1, B2; //按鈕
public ColorFrame() {
this.setLayout(null); //想要手動指定各組件的的位置
L = new Label("輸入學號:"); //設定標簽L內容
L.setBounds(60, 50, 50, 25); //設定標簽L外觀
this.add(L); //將標簽L添加到窗口中
T = new TextField("請在這里輸入"); //設定文本域T的內容
T.setBounds(125, 50, 90, 25); //設定文本域T的外觀
this.add(T); //將文本域T添加到窗口中
B1 = new Button("變紅!"); //設定按鈕B1的內容
B1.setBounds(25, 90, 90, 25); //設定按鈕B1的外觀
B1.addMouseListener(this);//在B1上注冊滑鼠監聽器
this.add(B1); //將按鈕B1添加到窗口中
B2 = new Button("變綠!");
B2.setBounds(125, 90, 90, 25);
B2.addMouseListener(this);
this.add(B2);
WindowDestroyer Listener = new WindowDestroyer(); //創建關閉窗口監聽器
this.addWindowListener(Listener); //將監聽器添加到窗口中
this.setBackground(Color.yellow); //設定窗口背景顏色
this.setTitle("This is Frame!"); //設定窗口標題文字
this.setBounds(0, 0, 250, 220); //設定窗口位置和大小
this.setVisible(true); //顯示窗口
}
public void mouseClicked(MouseEvent e) {
if (e.getComponent() == B1) {//getComponent返回按鈕上面的字元串
this.setBackground(Color.red);
}
if (e.getComponent() == B2) {
this.setBackground(Color.green);
}
}
public void mouseExited(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public static void main(String[] args) {
new ColorFrame();
}
}
希望能解決您的問題。
❾ JAVA滑鼠點擊事件問題
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Test {
private JFrame frame;
private JLabel label1;
private boolean flag=true;
public Test()
{
=new JFrame("標簽測試");
label1=new JLabel("變紅",JLabel.CENTER);
label1.setOpaque(true);
label1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if(flag)
{
label1.setBackground(Color.red);
flag=false;
}
else
{
label1.setBackground(Color.white);
flag=true;
}
}
}
);
frame.getContentPane().add(label1,BorderLayout.CENTER);
frame.setSize(300,300);
frame.setLocation(300,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Test t=new Test();
}
}