إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    Swing برنامج كاشف عناوين المواقع و الأجهزة IP Finder

    في هذا الدرس ستتعلم طريقة إنشاء برنامج ( IP Finder ) و الذي يمكن إستخدامه لجلب عنوان أي شيء متصل بالنت سواء كان سيرفر, حاسوب, هاتف إلخ..

    java swing ip finder source code تحميل كود برنامج كاشف عناوين المواقع و الأجهزة في جافا

    ⇓ تحميل البرنامج ⇓ تحميل المشروع كاملاً ⇓ تحميل مجلد الصور فقط



    بناء اللعبة

    في هذا المشروع قمنا بوضع ملف الجافا بداخل مجلد إسمه ip_finder.
    و قمنا بوضع الصورة التي وضعناها كخلفية بداخل مجلد إسمه images كما في الصورة التالية.



    كود البرنامج

    Main.java
    //  snake_2d  موجود بداخل المجلد  Main.java  هنا ذكرنا أن الملف
    package ip_finder;
    
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
     
    // و بالتالي أصبح إنشاء كائن منه يمثل إنشاء نافذة JFrame يرث من الكلاس Main هنا جعلنا الكلاس
    public class Main extends JFrame implements ActionListener {
     
        // هنا قمنا بتعريف الأشياء التي سيتم وضعها في النافذة
        JPanel backgroundPanel;
        JLabel label, labelResult, backgroundImage;
        JTextField textField;
        JButton buttonFind;
     
        // فقط createAndShowGUI() سيقوم الكونستركتور بإستدعاء الدالة Main عند إنشاء كائن من الكلاس
        public Main() {
            createAndShowGUI();
        }
     
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    // التي ستنشئ النافذة createAndShowGUI() و بالتالي سيتم إستدعاء الدالة Main هنا قمنا بإنشاء كائن من الكلاس
                    new Main();
                }
            });
        }
     
        // هنا نضع كود إنشاء النافذة و محتوياتها
        private void createAndShowGUI() {
     
            // هنا قمنا بإنشاء جميع الأشياء التي سنضيفها في النافذة
            backgroundPanel = new JPanel(null);
            backgroundImage = new JLabel(new ImageIcon(this.getClass().getResource("/images/world-map.png")));
            label = new JLabel("Enter URL", JLabel.CENTER);
            textField = new JTextField();
            buttonFind = new JButton("Get IP");
            labelResult = new JLabel("", JLabel.CENTER);
     
            // هنا قمنا بتحديد حجم و مكان كل شيء سيتم إضافته في النافذة
            backgroundPanel.setPreferredSize(new Dimension(600, 340));
            backgroundImage.setBounds(0, 0, 600, 340);
            label.setBounds(200, 75, 200, 30);
            textField.setBounds(200, 115, 200, 36);
            buttonFind.setBounds(200, 165, 200, 36);
            labelResult.setBounds(0, 225, 600, 30);
     
            // label هنا قمنا بتحديد خصائص العنوان
            label.setFont(new Font("Arial", Font.PLAIN, 20));
            label.setForeground(Color.WHITE);
     
            // textField هنا قمنا بتحديد خصائص مربع النص
            textField.setFont(new Font("Arial", Font.PLAIN, 18));
            textField.setForeground(Color.LIGHT_GRAY);
            textField.setBackground(new Color(10, 10, 10));
            textField.setCaretColor(Color.WHITE);
            textField.setFocusable(true);
            textField.setBorder(BorderFactory.createCompoundBorder(
                                textField.getBorder(),
                                BorderFactory.createEmptyBorder(5, 5, 5, 5)));
     
            // buttonFind هنا قمنا بتحديد خصائص الزر
            buttonFind.setFont(new Font("Arial", Font.BOLD, 16));
            buttonFind.setForeground(Color.LIGHT_GRAY);
            buttonFind.setBackground(Color.DARK_GRAY);
            buttonFind.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
            buttonFind.setFocusable(false);
     
            // labelResult هنا قمنا بتحديد نوع و حجم خط النتيجة التي ستظهر مكان العنوان
            labelResult.setFont(new Font("Arial", Font.PLAIN, 18));
     
            // هنا قمنا بإضافة جميع الأشياء التي قمنا بإنشائها في حاوية النافذة
            backgroundPanel.add(label);
            backgroundPanel.add(textField);
            backgroundPanel.add(buttonFind);
            backgroundPanel.add(labelResult);
            backgroundPanel.add(labelResult);
            backgroundPanel.add(backgroundImage);
     
            // actionPerformed() سيتم تنفيذ الأوامر الموضوعة في الدالة buttonFind هنا قلنا أنه عند النقر على الزر
            buttonFind.addActionListener(this);
     
            // هنا قمنا بإضافة الحاوية التي تحتوي على كل الأشياء التي قنما بتعريفها في النافذة
            add(backgroundPanel);
     
            // هنا قمنا بتحديد بعض خصائص النافذة و جعلناها مرئية
            setTitle("IP Finder");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setResizable(false);
            pack();
            setLocationRelativeTo(null);
            setVisible(true);
        }
     
     
        // actionPerformed() للدالة Override يجب أن نفعل ,ActionListener يطبق الإنترفيس Main بما أننا جعلنا الكلاس
        // Get IP لتحديد ما سيحدث عند النقر على الزر
        @Override
        public void actionPerformed(ActionEvent e) {
     
            // url سيتم تخزين النص الموجود في مربع النص في الكائن
            String url = textField.getText();
     
            // labelResult إذا لم يكن مربع النص فارغاً سيحاول البرنامج الإتصال بالنت و جلب عنوان الموقع المذكور و وضعه كنص للكائن
            if(!url.isEmpty())
            {
                try {
                    InetAddress address = InetAddress.getByName(url);
                    String ip = address.getHostAddress();
                    labelResult.setText(ip);
                    labelResult.setForeground(Color.GREEN);
                }
                catch (UnknownHostException ex) {
                    labelResult.setText("Invalid URL or Network is Down");
                    labelResult.setForeground(Color.RED);
                }
            }
            // إذا كان مربع النص فارغاً عند النقر على الزر, سيتم إظهار النص التالي و تلوينه بالأحمر
            else {
                labelResult.setText("Please enter a valid URL in the above field");
                labelResult.setForeground(Color.RED);
            }
        }
     
    }
    		
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب