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

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

  • 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 لالتقاط اي حدث للماوس , بعد ذلك جملة شرطية , يبحث في الحدث عن نوع الضغطة ويرجع لك النتيجة


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