جار التحديث ...
جار التحديث ...

معالجة الاحداث في جافا

  • 1

كيف يمكنني انشاء حدث بحيث ينفذ هذا الحدث شيئ ما عند النقر على الفأرة أو على حرف F في لوحة المفاتيح ؟

إجابات المستخدمين (3)


بهذه الطريقة يمكنك التعامل مع حدث الضغط على الفأرة

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JTextArea;

public class Main extends JFrame {
  public Main() {
    setSize(300, 300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final JTextArea textArea = new JTextArea();
    textArea.setText("Click Me!");

    textArea.addMouseListener(new MouseAdapter() {
      public void mouseClicked(MouseEvent e) {
        if (e.getButton() == MouseEvent.NOBUTTON) {
          textArea.setText("No button clicked...");
        } else if (e.getButton() == MouseEvent.BUTTON1) {
          textArea.setText("Button 1 clicked...");
        } else if (e.getButton() == MouseEvent.BUTTON2) {
          textArea.setText("Button 2 clicked...");
        } else if (e.getButton() == MouseEvent.BUTTON3) {
          textArea.setText("Button 3 clicked...");
        }

        System.out.println("Number of click: " + e.getClickCount());
        System.out.println("Click position (X, Y):  " + e.getX() + ", " + e.getY());
      }
    });

    getContentPane().add(textArea);
  }

  public static void main(String[] args) {
    new Main().setVisible(true);
  }
}

وهكذا يمكنك تتبع اي ضغطة على الكيبورد , لست مختص بجافا لكن احاول اعطائك مقدمة للحل هنا , اتمنى ان تفيدك

package com.javacodegeeks.snippets.desktop;
 
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
 
public class Main {
 
    public static void main(String[] argv) throws Exception {
 
  JTextField textField = new JTextField();
 
  textField.addKeyListener(new MKeyListener());
 
  JFrame jframe = new JFrame();
 
  jframe.add(textField);
 
  jframe.setSize(400, 350);
 
  jframe.setVisible(true);
 
    }
}
 
class MKeyListener extends KeyAdapter {
 
    @Override
    public void keyPressed(KeyEvent event) {
 
  char ch = event.getKeyChar();
 
  if (ch == 'a' ||ch == 'b'||ch == 'c' ) {
 
System.out.println(event.getKeyChar());
 
  }
 
  if (event.getKeyCode() == KeyEvent.VK_HOME) {
 
System.out.println("Key codes: " + event.getKeyCode());
 
  }
    }
}

  • 0
رد على التعليق (2)

الردود :


شكرا جزيلا لك ولكن اريد ان تشرح لي الاسطر من السطر الحادي عشر اي من textArea.addMouseListener وحتى السطر الرابع عشر اي حتى textArea.setText("No button clicked...");

في سطر textAreat.addMouseListener نقوم باضافة Listener لالتقاط اي حدث للماوس , بعد ذلك جملة شرطية , يبحث في الحدث عن نوع الضغطة ويرجع لك النتيجة


سجل الدخول لاضافة رد
سجل الدخول لاضافة اجابة جديدة



صورة المجموعة

المجموعة العامة

ﺯﻳﺎﺭﺓ اﻟﻤﺠﻤﻮﻋﺔ

ﻫﺬا اﻟﺴﺆاﻝ ﺗﻢ ﻃﺮﺣﻪ ﻓﻲ ﻣﺠﻤﻮﻋﺔ
المجموعة العامة