diff --git a/Programmierung2/src/GUIAnwendungen/Events/ActionListener.pdf b/Programmierung2/src/GUIAnwendungen/Events/ActionListener.pdf new file mode 100644 index 0000000..4e71d0a Binary files /dev/null and b/Programmierung2/src/GUIAnwendungen/Events/ActionListener.pdf differ diff --git a/Programmierung2/src/GUIAnwendungen/Events/FocusListener.pdf b/Programmierung2/src/GUIAnwendungen/Events/FocusListener.pdf new file mode 100644 index 0000000..81d167c Binary files /dev/null and b/Programmierung2/src/GUIAnwendungen/Events/FocusListener.pdf differ diff --git a/Programmierung2/src/GUIAnwendungen/Events/ItemListener.pdf b/Programmierung2/src/GUIAnwendungen/Events/ItemListener.pdf new file mode 100644 index 0000000..22e8657 Binary files /dev/null and b/Programmierung2/src/GUIAnwendungen/Events/ItemListener.pdf differ diff --git a/Programmierung2/src/GUIAnwendungen/Events/KeyListener.pdf b/Programmierung2/src/GUIAnwendungen/Events/KeyListener.pdf new file mode 100644 index 0000000..3592589 Binary files /dev/null and b/Programmierung2/src/GUIAnwendungen/Events/KeyListener.pdf differ diff --git a/Programmierung2/src/GUIAnwendungen/Events/MouseListener.pdf b/Programmierung2/src/GUIAnwendungen/Events/MouseListener.pdf new file mode 100644 index 0000000..cd6d4ce Binary files /dev/null and b/Programmierung2/src/GUIAnwendungen/Events/MouseListener.pdf differ diff --git a/Programmierung2/src/GUIAnwendungen/Events/MouseMotionListener.pdf b/Programmierung2/src/GUIAnwendungen/Events/MouseMotionListener.pdf new file mode 100644 index 0000000..a6b86c5 Binary files /dev/null and b/Programmierung2/src/GUIAnwendungen/Events/MouseMotionListener.pdf differ diff --git a/Programmierung2/src/GUIAnwendungen/EventsButton/ActionListenerBeispiel.java b/Programmierung2/src/GUIAnwendungen/EventsButton/ActionListenerBeispiel.java new file mode 100644 index 0000000..4b03e4c --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/EventsButton/ActionListenerBeispiel.java @@ -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); // هنا جعلنا النافذة مرئية + + } +} diff --git a/Programmierung2/src/GUIAnwendungen/EventsButton/FocusListenerBeispiel.java b/Programmierung2/src/GUIAnwendungen/EventsButton/FocusListenerBeispiel.java new file mode 100644 index 0000000..b7bc00e --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/EventsButton/FocusListenerBeispiel.java @@ -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); // هنا جعلنا النافذة مرئية + + } +} diff --git a/Programmierung2/src/GUIAnwendungen/EventsButton/ItemListenerBeispiel.java b/Programmierung2/src/GUIAnwendungen/EventsButton/ItemListenerBeispiel.java new file mode 100644 index 0000000..2fdc3e9 --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/EventsButton/ItemListenerBeispiel.java @@ -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"); + } + }); + + + } + +} diff --git a/Programmierung2/src/GUIAnwendungen/EventsButton/KeyListenerBeispiel.java b/Programmierung2/src/GUIAnwendungen/EventsButton/KeyListenerBeispiel.java new file mode 100644 index 0000000..e5107f9 --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/EventsButton/KeyListenerBeispiel.java @@ -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) { + } + }); + + + } +} diff --git a/Programmierung2/src/GUIAnwendungen/EventsButton/MouseListenerBeispiel.java b/Programmierung2/src/GUIAnwendungen/EventsButton/MouseListenerBeispiel.java new file mode 100644 index 0000000..39b3f7a --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/EventsButton/MouseListenerBeispiel.java @@ -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); // هنا جعلنا النافذة مرئية + + } + +} diff --git a/Programmierung2/src/GUIAnwendungen/EventsButton/MouseMotionListenerBeispiel.java b/Programmierung2/src/GUIAnwendungen/EventsButton/MouseMotionListenerBeispiel.java new file mode 100644 index 0000000..70bc2f4 --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/EventsButton/MouseMotionListenerBeispiel.java @@ -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); // هنا جعلنا النافذة مرئية + + } + + +} diff --git a/Programmierung2/src/GUIAnwendungen/EventsButton/WindowListenerBeispiel.java b/Programmierung2/src/GUIAnwendungen/EventsButton/WindowListenerBeispiel.java new file mode 100644 index 0000000..fd5796c --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/EventsButton/WindowListenerBeispiel.java @@ -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); // هنا جعلنا النافذة مرئية + + } + +} diff --git a/Programmierung2/src/GUIAnwendungen/jbutton.java b/Programmierung2/src/GUIAnwendungen/jbutton.java index f1f5e9b..7dd2735 100644 --- a/Programmierung2/src/GUIAnwendungen/jbutton.java +++ b/Programmierung2/src/GUIAnwendungen/jbutton.java @@ -54,7 +54,6 @@ public class jbutton implements ActionListener { } }); - // Erstelle ein Fenster