الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ActionEvent؟

مغلق
بدأه طالب برمجة في 24 مارس 2004 · 6 رد · 650 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لو سمحتو عندي سؤال عن ActionEvent

وما عمله بالضبط

كيف مدخل METHOD في ActionEvent

؟

#2

السلام عليكم

اما لل ActionEvent هو عبارة عن كلاس فيه جميع الدوال الخاصة بالحدث الذي عُمل سواء أكان من نقرة الزر او اي حدث آخر... فلازم علشان تنفد هذا الكلاس أو الدالة الخاصة بهذا الكلاس أن تعمل implements لل interface الخاص به وهو ActioListenter لكي يكون الكلاس تكون فيه الدالة ActionPerformed..

والمقصود أن ActionEvent عبارة كلاس ينفد أوامر نتيجة لحدوث اي ActionEvent لإحدى الأدوات الموجودة في الجافا مثل كما قلنا Button ... فهناك العديد من الأحداث الموجودة فلكل أداة حدث معين لها...

اما لسؤالك

اقتباس
كيف مدخل METHOD في ActionEvent

فغير مفهوم

أرجو أن أكون قد أوضحت الفكرة...

فإذا هناك اي سؤال ارجو فنحن منتظرون..

مع تحياتي

بسام باصمد

techvisio.gif

اللهم انصر إخواننا المجاهدين في كل مكان..

#3

شكرا لك لكن السؤال اللي عندي كالتالي:

Implements the following integer methods:

A_ method Celsius return the Celsius equivalent of Fahrenheit temperature , using the calculation :C= 5.0/9.0*(f-32);

B_ method Fahrenheit return the Fahrenheit equivalent of Celsius temperature, using the calculation: F= 9.0/5.0*C+3);

C_use these methods to write an applet that enables the user toenter the Fahrenheit

And display Celsius or inter Celsius and display Fahrenheit.

NOTES: this applet will require tow JTextFieldobjects that have regeisterd action

events . when actionPerformed is invoked . the Actionevent parameter has method getSource () to determine the GUI components with which the user intercted.

Your actionPerformed should contain if/else structure of the form:

If(actionEvent.getSource ()==input1)

{

Else

// process input 2 interaction here

Iinput 1 and input 2 areJTextField references.

كيف استخدم method في هذي الحاله

#4

السلام عليكم

يأخت انت إذا بدك تستخدمي TextField ، فيمكنك استخدام طريقة أحسن..

فإذا كان قصدك انه لما يدخل المستخدم القيمة (أي لما تتغير القيمة) في هذا الكائن نقوم بعملية معينة ..فيمكنك عمل ذلك بإستخدام إحدى ال Evnets الموجودة بهذا الكلئن مثل (keyPressed(KeyEvent e)) والعملية هي بالطريقة التالية...

اولآ : نكتب الكلاس:
class ConvertToBIN_jTextField1_keyAdapter extends java.awt.event.KeyAdapter {
  ConvertToBIN adaptee;

  ConvertToBIN_jTextField1_keyAdapter(ConvertToBIN adaptee) {
    this.adaptee = adaptee;
  }
  public void keyPressed(KeyEvent e) {
    adaptee.jTextField1_keyPressed(e);
  }
}ثانياً:
في الكلاس الذي اسمه ConvertToBIN بعد ماكونا ال TextField مثل هكذا
JTextField jTextField1 = new JTextField();
نقوم بالعمل التالي:
نعمل مستمع لهذا الكائن
jTextField1.addKeyListener(new ConvertToBIN_jTextField1_keyAdapter(this));
بعد ذلك نكتب الدالة الخاصة بالعملية :
void jTextField1_keyPressed(KeyEvent e) {
  }

وهناك طريقة أخرى عن طريق عمل كائن آخر وهو Button ثم نستخدم الدالة المعروفة ActionPerformed

وشكراً

بسام باصمد

تم تعديل هذه المشاركة بواسطة Bassam Basamad في 25 مارس 2004 في 11:35

techvisio.gif

اللهم انصر إخواننا المجاهدين في كل مكان..

#5

السلام عليكم

أختي لقد حاولت ان ان أتفهم موضوعك ولكن ، فلقد كتبت هذا لبرنامج لعملية التحويل التي تريدينها...

import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.*;
import java.awt.event.*;


public class ConvertToBIN extends JFrame implements ActionListener {
  JLabel lblone = new JLabel();
  JTextField txtF = new JTextField();
  JTextField txtC = new JTextField();
  JLabel lblTwo = new JLabel();
  JLabel lblResult = new JLabel();
  JTextField txtResult = new JTextField();
  JLabel lblcomment = new JLabel();
  JLabel lblcomment1 = new JLabel();


  public ConvertToBIN() {
    lblone.setText("Enter Fahrenheit Value:");
    lblone.setBounds(new Rectangle(22, 39, 118, 27));
    this.getContentPane().setLayout(null);
    txtF.setText("");
    txtF.setBounds(new Rectangle(149, 40, 96, 24));
    txtC.setBounds(new Rectangle(150, 82, 96, 24));
    txtC.setText("jTextField1");
    txtC.setText("");
    lblTwo.setBounds(new Rectangle(27, 79, 108, 27));
    lblTwo.setText("Enter Celsius Value");
    lblResult.setText("Result:");
    lblResult.setBounds(new Rectangle(30, 125, 70, 31));
    txtResult.setText("");
    txtResult.setBounds(new Rectangle(153, 167, 115, 29));
    lblcomment.setHorizontalAlignment(SwingConstants.LEFT);
    lblcomment.setHorizontalTextPosition(SwingConstants.TRAILING);
    lblcomment.setText("Enter the Value and");
    lblcomment.setVerticalAlignment(SwingConstants.TOP);
    lblcomment.setVerticalTextPosition(SwingConstants.TOP);
    lblcomment.setBounds(new Rectangle(257, 39, 133, 30));
    lblcomment1.setBounds(new Rectangle(256, 65, 110, 30));
    lblcomment1.setVerticalTextPosition(SwingConstants.TOP);
    lblcomment1.setVerticalAlignment(SwingConstants.TOP);
    lblcomment1.setText("Press Enter Key");
    lblcomment1.setHorizontalAlignment(SwingConstants.LEFT);
    lblcomment1.setHorizontalTextPosition(SwingConstants.TRAILING);
    txtC.addActionListener(this);
    txtF.addActionListener(this);
    this.getContentPane().add(lblone, null);
    this.getContentPane().add(txtF, null);
    this.getContentPane().add(txtC, null);
    this.getContentPane().add(lblTwo, null);
    this.getContentPane().add(lblResult, null);
    this.getContentPane().add(txtResult, null);
    this.getContentPane().add(lblcomment, null);
    this.getContentPane().add(lblcomment1, null);
  }
    public void actionPerformed(ActionEvent e)
    {
      if(e.getSource().equals(txtC))
      {
        try
        {
          Double value = new Double(5.0 / 9.0 *
                                    (Double.parseDouble(txtF.getText()) - 32));
          txtResult.setText(value.toString());
        }
        catch(Exception r)
        {
          System.exit(0);
        }
      }
      else
      {
        try
        {
          Double value = new Double(9.0 / 5.0 *
                                    Double.parseDouble(txtC.getText() + 3));
          txtResult.setText(value.toString());
        }
        catch(Exception o)
        {
          System.exit(0);
        }
      }
    }



  public static void main(String[] args) {
    ConvertToBIN convertToBIN = new ConvertToBIN();
    convertToBIN.setSize(400,350);
    convertToBIN.show();
  }
  }

أرجو ان أكون قد اوصلت الفكرة...

اما إذا أردت أن تعمل حدث خاصة بك (Custom Event ) فأ عتقد ان هذي الميزة غير موجودة في الجافا..فنحن نستخدم الأحداث التي توفرها الجافا...

والله أعلم

بسام باصمد

techvisio.gif

اللهم انصر إخواننا المجاهدين في كل مكان..

#6

عفواً لقد تلخبط..

كنت احسبك طالبة برمجة..

i am very sorry..

اسف ...متأسف..

بسام باصمد

techvisio.gif

اللهم انصر إخواننا المجاهدين في كل مكان..

#7

شكرا جزيلا لك

سأقرا الكود الان

((لا داعي للاسف))

هذا الموضوع مغلق.