كيفية إنشاء وعرض رسائل التنبية مثل رسائل ويندوز 10 فى تطبيقات جافا

اذهب الى الأسفل

كيفية إنشاء وعرض رسائل التنبية مثل رسائل ويندوز 10 فى تطبيقات جافا  Empty كيفية إنشاء وعرض رسائل التنبية مثل رسائل ويندوز 10 فى تطبيقات جافا

مُساهمة من طرف 1zaza في الجمعة يناير 10, 2020 2:02 pm

في Java  يفضل بعض المطورين استخدام JOptionPane لانشاء رسائل التنبية للمستخدمين، ولكن عندما تعمل في بيئة ثابتة ، على سبيل المثال في نظام التشغيل Windows 10 ، من الجيد استخدام أنماط الإشعارات الافتراضية لنظام التشغيل Windows ، ولهذا السبب سوف نناقش كيفية استخدام اشعارات Windows 10 بسهولة لانشاء رسائل التنبية و ذلك باستخدام Java AWT.

تنشئ التعليمة البرمجية التالية الإشعار المطلوب في علبة النظام system tray ، بحيث يمكنك ببساطة إنشاء طريقة له لتغير نص التنبيهات وهذا كل شيء:

الكود:
import java.awt.*;
import java.awt.event.*;
import java.awt.TrayIcon.MessageType;
import java.net.MalformedURLException;


try{

     // الحصول على مثيل واحد فقط للكائن SystemTray
    SystemTray tray = SystemTray.getSystemTray();

    // إذا كنت تريد إنشاء ايقون في علبة النظام للمعاينة
    Image image = Toolkit.getDefaultToolkit().createImage("some-icon.png");
    //Alternative (

if the icon is on the classpath):
    //Image image = Toolkit.getDefaultToolkit().createImage(getClass().getResource("icon.png"));

    TrayIcon trayIcon = new TrayIcon(image, "Java AWT Tray Demo");

    // دع النظام يغير حجم الصورة إذا لزم الأمر
    trayIcon.setImageAutoSize(true);

    // تعيين نص تلميح
    trayIcon.setToolTip("System tray icon demo");
    tray.add(trayIcon);

    //عرض معلومات الإخطار:
    trayIcon.displayMessage("Hello, World", "Java Notification Demo", MessageType.INFO);
    // Error:
    // trayIcon.displayMessage("Hello, World", "Java Notification Demo", MessageType.ERROR);
    // Warning:
    // trayIcon.displayMessage("Hello, World", "Java Notification Demo", MessageType.WARNING);
}catch(Exception ex){
    System.err.print(ex);
}

الاخراج :

كيفية إنشاء وعرض رسائل التنبية مثل رسائل ويندوز 10 فى تطبيقات جافا  Articleocw-5c27da5324bb2

لاحظ أن تنفيذ التعليمات البرمجية يجب أن يتم من خلال عبارة Try-Catch التي تستحوذ على الاستثناءين اللذين تم طرحهما بواسطة الكود (AWTException أو MalformedURLException) أو استثناء عام (كما هو موضح أعلاه).

مثال أخر :

يوضح المثال التالي فئة تطبيق بسيطة جدًا ترسم زرًا بسيطًا في إطار. عند النقر فوق الزر ، سيظهر إشعار ببصنية النظام SystemTray :

الكود:
package sandbox;

import java.awt.*;
import java.awt.event.*;
import java.awt.TrayIcon.MessageType;
import java.net.MalformedURLException;

public class Sandbox {
    
    /**
     * Parsing a JSONObject string
     *
     * @param args
     */
    public static void main(String[] args) {
        Sandbox app = new Sandbox();
    }
    
    public Sandbox(){
        Frame f = new Frame("Button Example");  
        Button btn = new Button("Click Here");  
        btn.setBounds(50,100,80,30);  
        f.add(btn);  
        f.setSize(400,400);  
        f.setLayout(null);  
        f.setVisible(true);
        
        Sandbox _this = this;
        
        btn.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                if (SystemTray.isSupported()) {
                    try{
                        _this.displayTray();
                    }catch(AWTException ex){
                        
                    }catch(MalformedURLException ex){
                    
                    }
                } else {
                    System.err.println("System tray not supported!");
                }
            }
        });
    }
    
    public void displayTray() throws AWTException, MalformedURLException {

        //انشاء مثيل للكائن SystemTray
        SystemTray tray = SystemTray.getSystemTray();

        //وضع ايقون من ملف
        Image image = Toolkit.getDefaultToolkit().createImage("icon.png");

        //اذا كانت الايقون فوجودة فى مجلد المصادر
        //Image image = Toolkit.getDefaultToolkit().createImage(getClass().getResource("icon.png"));

        TrayIcon trayIcon = new TrayIcon(image, "Java AWT Tray Demo");

        //دع النظام يغير حجم الصورة إذا لزم الأمر
        trayIcon.setImageAutoSize(true);

        //وضح نص تلميح عند مرور الماوس على ايقونة
        trayIcon.setToolTip("System tray icon demo");
        tray.add(trayIcon);

        trayIcon.displayMessage("Hello, World", "Java Notification Demo", MessageType.INFO);
    }
}


كيفية إنشاء وعرض رسائل التنبية مثل رسائل ويندوز 10 فى تطبيقات جافا  Gallery-5c27ae3489da4
1zaza
1zaza
...
...

تاريخ التسجيل : 18/11/2018
المساهمات : 37
النقاط : 63
التقيم : 2
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى