master
3009594 2024-09-03 19:51:17 +02:00
parent a89a671daa
commit 794bc60645
14 changed files with 363 additions and 1 deletions

View File

@ -0,0 +1,36 @@
package GUIAnwendungen.EventsButton;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionListenerBeispiel {
public static void main(String[] args) {
JFrame frame = new JFrame("ActionListener Demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا
// كائن من الكلاس
JButton button = new JButton("Click Me"); // أي قمنا بتعريف زر .JButton هنا أنشأنا كائن من الكلاس
button.addActionListener(new ActionListener() { // كلما قام المستخدم بالنقر على الزر سيتم تنفيذ الأمر الموضوع من
// جديد
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(frame, "The button is clicked");
}
});
button.setBounds(90, 40, 100, 30); // هنا قمنا بتحديد حجم و مكان الزر في النافذة
frame.add(button); // frame في الـ button هنا أضفنا الـ
frame.setSize(300, 300); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 300
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(null); // لأننا رتبنا محتواها يدوياً Layout Manager هنا قمنا بجعل النافذة لا تستخدم أي
frame.setVisible(true); // هنا جعلنا النافذة مرئية
}
}

View File

@ -0,0 +1,58 @@
package GUIAnwendungen.EventsButton;
import java.awt.Color;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class FocusListenerBeispiel {
public static void main(String[] args) {
JFrame frame = new JFrame("FocusListener demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن
// من الكلاس
JLabel nameLabel = new JLabel("Name"); // nameLabel إسمه Label هنا أنشأنا
JLabel passLabel = new JLabel("Password"); // passLabel إسمه Label هنا أنشأنا
JTextField nameField = new JTextField(); // nameField إسمه Text Field هنا أنشأنا
JPasswordField passField = new JPasswordField(); // passField إسمه Text Field هنا أنشأنا
nameLabel.setBounds(30, 50, 60, 25); // frame في الـ nameLabel هنا قمنا بتحديد حجم و موقع الكائن
nameField.setBounds(100, 50, 150, 25); // frame في الـ nameField هنا قمنا بتحديد حجم و موقع الكائن
passLabel.setBounds(30, 90, 60, 25); // frame في الـ passLabel هنا قمنا بتحديد حجم و موقع الكائن
passField.setBounds(100, 90, 150, 25); // frame في الـ passField هنا قمنا بتحديد حجم و موقع الكائن
frame.add(nameLabel); // frame في الـ nameLabel هنا أضفنا الكائن
frame.add(nameField); // frame في الـ nameField هنا أضفنا الكائن
frame.add(passLabel); // frame في الـ passLabel هنا أضفنا الكائن
frame.add(passField); // frame في الـ passField هنا أضفنا الكائن
// anonyme innere Klasse
FocusListener fl = new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
// هنا قلنا أنه سيتم تلوين خلفية مربع النص الحالي الذي يمكن الكتابة فيه بالأصفر
e.getComponent().setBackground(Color.yellow);
}
@Override
public void focusLost(FocusEvent e) {
// هنا قلنا أنه سيتم تلوين خلفية مربع النص الذي لم يعد يتفاعل معه المستخدم
// باللون الأبيض
e.getComponent().setBackground(Color.white);
}
};
nameField.addFocusListener(fl); // fl بالحدث nameField هنا ربطنا الكائن
passField.addFocusListener(fl); // fl بالحدث nameField هنا ربطنا الكائن
frame.setSize(300, 200); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 200
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(null); // لذلك قمنا بتحديد مكان كل شيء قمنا بإضافته في النافذة Layout Manager أي لم
// نستخدم أي null هنا وضعنا
frame.setVisible(true); // هنا جعلنا النافذة مرئية
}
}

View File

@ -0,0 +1,45 @@
package GUIAnwendungen.EventsButton;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.AbstractButton;
import javax.swing.JCheckBox;
public class ItemListenerBeispiel {
public static void main(String[] args) {
JFrame frame = new JFrame("ItemListener demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن
// من الكلاس
JCheckBox checkBox = new JCheckBox("Check Box"); // checkBox إسمه Check Box هنا أنشأنا
JLabel label = new JLabel(); // label إسمه Label هنا أنشأنا
checkBox.setBounds(40, 40, 100, 30); // frame في الـ checkBox هنا قمنا بتحديد حجم و موقع الـ
label.setBounds(40, 70, 200, 30); // frame في الـ label هنا قمنا بتحديد حجم و موقع الـ
label.setText("Check Box is not checked"); // checkBox سيتم تبديل هذا النص عند النقر هلى الـ .label هنا قمنا
// بإعطاء نص للـ
frame.add(checkBox); // frame في الـ checkBox هنا أضفنا الـ
frame.add(label); // frame في الـ label هنا أضفنا الـ
frame.setSize(300, 250); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 250
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(null); // لذلك قمنا بتحديد مكان كل شيء قمنا بإضافته في النافذة Layout Manager أي لم
// نستخدم أي null هنا وضعنا
frame.setVisible(true); // هنا جعلنا النافذة مرئية
checkBox.addItemListener(new ItemListener() { // أي كلما تغيرت حالته .checkBox هنا نضع الأوامر التي نريد تنفيذها
// عند النقر على الـ
@Override
public void itemStateChanged(ItemEvent e) {
if (checkBox.isSelected()) // سيتم طباعة النص التالي checkBox إذا كان يوجد علامة صح على الـ
label.setText("Check Box is checked");
else // سيتم طباعة النص التالي checkBox إذا كان لا يوجد علامة صح على الـ
label.setText("Check Box is not checked");
}
});
}
}

View File

@ -0,0 +1,67 @@
package GUIAnwendungen.EventsButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class KeyListenerBeispiel {
public static void main(String[] args) {
JFrame frame = new JFrame("KeyListener demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن
// من الكلاس
JTextField textField = new JTextField(); // textField إسمه Text Field هنا أنشأنا
JLabel label = new JLabel("Enter any thing"); // label إسمه Label هنا أنشأنا
JLabel labelResult = new JLabel(); // فارغ labelResult إسمه Label هنا أنشأنا
JButton button = new JButton("Get text"); // button إسمه Button هنا أنشأنا
label.setBounds(40, 40, 100, 30); // frame في الـ label هنا قمنا بتحديد حجم و موقع الكائن
textField.setBounds(150, 40, 150, 30); // frame في الـ textField هنا قمنا بتحديد حجم و موقع الكائن
button.setBounds(40, 120, 80, 30); // frame في الـ button هنا قمنا بتحديد حجم و موقع الكائن
labelResult.setBounds(150, 120, 150, 30); // frame في الـ labelResult هنا قمنا بتحديد حجم و موقع الكائن
frame.add(label); // frame في الـ label هنا أضفنا الكائن
frame.add(textField); // frame في الـ textField هنا أضفنا الكائن
frame.add(button); // frame في الـ button هنا أضفنا الكائن
frame.add(labelResult); // frame في الـ labelResult هنا أضفنا الكائن
frame.setSize(360, 250); // هنا قمنا بتحديد حجم النافذة. عرضها 360 و طولها 250
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(null); // لذلك قمنا بتحديد مكان كل شيء قمنا بإضافته في النافذة Layout Manager أي لم
// نستخدم أي null هنا وضعنا
frame.setVisible(true); // هنا جعلنا النافذة مرئية
button.addActionListener(new ActionListener() { // button هنا نضع الأوامر التي نريد تنفيذها عند النقر على الزر
@Override
public void actionPerformed(ActionEvent e) {
labelResult.setText(textField.getText()); // button عند النقر على الـ label و وضعه كنص للكائن textField
// سيتم جلب النص الموجود في الكائن
}
});
// textField هنا نضع الأوامر التي نريد تنفيذها عند كتابة أو حذف أي حرف موجود في
// مربع النص
// و هو في داخل مربع النص سيتم عرض النص الذي أدخله Enter إذا قام المستخدم بالنقر
// على الزر
textField.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER)
labelResult.setText(textField.getText());
}
@Override
public void keyReleased(KeyEvent e) {
}
});
}
}

View File

@ -0,0 +1,57 @@
package GUIAnwendungen.EventsButton;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JLabel;
import javax.swing.JFrame;
public class MouseListenerBeispiel {
public static void main(String[] args) {
JFrame frame = new JFrame("MouseListener demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن
// من الكلاس
JLabel mousePosition = new JLabel(" Mouse Position:"); // mousePosition إسمه Label هنا أنشأنا
JLabel mouseStatus = new JLabel(" Mouse Status:"); // mouseStatus إسمه Label هنا أنشأنا
frame.add(mousePosition); // frame في الـ mousePosition هنا أضفنا الكائن
frame.add(mouseStatus); // frame في الـ mouseStatus هنا أضفنا الكائن
// هنا نضع الأوامر التي نريد تنفيذها عند تفاعل المستخدم مع النافذة بواسطة الفأرة
frame.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
mouseStatus.setText(" Mouse Status: Mouse Pressed");
}
@Override
public void mouseReleased(MouseEvent e) {
mouseStatus.setText(" Mouse Status: Mouse Released");
}
@Override
public void mouseEntered(MouseEvent e) {
mousePosition.setText(" Mouse Position: (" + e.getX() + ", " + e.getY() + ")");
mouseStatus.setText(" Mouse Status: Mouse Clicked");
}
@Override
public void mouseExited(MouseEvent e) {
mouseStatus.setText(" Mouse Status: Mouse Exited");
}
});
frame.setSize(300, 250); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 250
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(new GridLayout(2, 1)); // لترتيب الأشياء التي أضفناها فيها GroupLayout هنا جعلنا النافذة تستخدم
// الـ
frame.setVisible(true); // هنا جعلنا النافذة مرئية
}
}

View File

@ -0,0 +1,40 @@
package GUIAnwendungen.EventsButton;
import java.awt.FlowLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JLabel;
import javax.swing.JFrame;
public class MouseMotionListenerBeispiel {
public static void main(String[] args) {
JFrame frame = new JFrame("MouseMotionListener demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا
// أنشأنا كائن من الكلاس
JLabel mousePosition = new JLabel("Mouse Position:"); // mousePosition إسمه Label هنا أنشأنا
frame.add(mousePosition); // frame في الـ mousePosition هنا أضفنا الكائن
// هنا نضع الأوامر التي نريد تنفيذها عند تفاعل المستخدم مع النافذة بواسطة الفأرة
frame.addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseDragged(MouseEvent e) {
mousePosition.setText(" Mouse Position: (" + e.getX() + ", " + e.getY() + ")");
}
@Override
public void mouseMoved(MouseEvent e) {
}
});
frame.setSize(300, 250); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 250
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(new FlowLayout()); // لترتيب الأشياء التي أضفناها فيها FlowLayout هنا جعلنا النافذة تستخدم الـ
frame.setVisible(true); // هنا جعلنا النافذة مرئية
}
}

View File

@ -0,0 +1,60 @@
package GUIAnwendungen.EventsButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class WindowListenerBeispiel {
public static void main(String[] args) {
// أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
JFrame frame = new JFrame("WindowListener Demo");
// هنا قلنا أنه كلما تفاعل المستخدم مع النافذة سيتم إظهار الحدث الذي فعله كرسالة
frame.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
JOptionPane.showMessageDialog(frame, "Event: Window Opened");
}
@Override
public void windowClosing(WindowEvent e) {
JOptionPane.showMessageDialog(frame, "Event: Window Closing");
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
JOptionPane.showMessageDialog(null, "Event: Window Iconified");
}
@Override
public void windowDeiconified(WindowEvent e) {
JOptionPane.showMessageDialog(null, "Event: Window Deiconified");
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
});
frame.setSize(300, 300); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 300
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setVisible(true); // هنا جعلنا النافذة مرئية
}
}

View File

@ -56,7 +56,6 @@ public class jbutton implements ActionListener {
// Erstelle ein Fenster // Erstelle ein Fenster
JFrame frame = new JFrame(); JFrame frame = new JFrame();