كيفية تنفيذ وظيفة علبة النظام في جافا.
مثال الرسم البياني
مخطط هيكل حزمة المشروع
لقطة شاشة لعملية النظام
إن تطبيق الوصف المنطقي الأساسي والإخفاء في الدرج يعني بشكل أساسي إخفاء النموذج، أي setVisible(false)، وعرض النموذج يعني setVisible(true).
رمز المشروع هو كما يلي:
import java.awt.AWTException;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
استيراد java.net.URL؛
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
الطبقة العامة MainFrame تمتد JFrame وتنفذ ActionListener {
serialVersionUID النهائي الطويل الخاص الثابت = -7078030311369039390L؛
قائمة JMenu الخاصة؛
JMenuBar الخاص jmenuBar؛
سلسلة خاصة [] jmItemName = {"ضعها في الدرج"، "خروج النظام"}؛
الإطار الرئيسي العام (){
سوبر("دليل الهاتف");
الحرف الأول () ؛
this.setSize(500,400);
this.setJMenuBar(jmenuBar);
this.setLocationRelativeTo(null);
systemTray(); // علبة النظام
}
/**
* واجهة التهيئة
*/
الحرف الفراغي العام () {
القائمة = جديد JMenu("نموذج النظام");
for(int i=0; i<jmItemName.length; i++){
JMenuItem MenuItem = new JMenuItem(jmItemName[i]);
MenuItem.addActionListener(this);
list.add(menuItem);
}
this.jmenuBar = new JMenuBar();
this.jmenuBar.add(menu);
}
@تجاوز
إجراء باطل عام (ActionEvent e) {
إجراءات السلسلة = e.getActionCommand();
إذا ("ضعه على الدرج". يساوي (الإجراءات)) {
this.setVisible(false);
}
إذا ("خروج النظام". يساوي (الإجراءات)) {
System.exit(0);
}
}
/**معالجة أيقونة علبة النظام.*/
نظام الفراغ الخاص () {
if(SystemTray.isSupported()){ // تحديد ما إذا كان النظام يدعم وظيفة الدرج.
مورد URL = this.getClass().getResource("systray.jpg"); // احصل على مسار الصورة
ImageIcon icon = new ImageIcon(resource);//إنشاء كائن صورة
PopupMenu popupMenu = new PopupMenu(); // إنشاء كائن قائمة منبثقة
MenuItem itemExit = new MenuItem("الخروج من النظام"); // أنشئ عنصر الخروج في القائمة المنبثقة
MenuItem itemShow = new MenuItem("عرض النموذج"); // إنشاء عنصر عرض رئيسي في القائمة المنبثقة.
itemExit.addActionListener(new ActionListener() { // أضف مستمع حدث إلى صورة الخروج
@تجاوز
إجراء باطل عام (ActionEvent e) {
System.exit(0);
}
});
itemShow.addActionListener(new ActionListener() { // أضف مستمعًا للحدث لتصغير النموذج.
@تجاوز
إجراء باطل عام (ActionEvent e) {
setVisible(true);
}
});
popupMenu.add(itemExit);
popupMenu.add(itemShow);
TrayIconrayIcon = new TrayIcon(icon.getImage(),"Phonebook System",popupMenu);
SystemTray sysTray = SystemTray.getSystemTray();
يحاول {
sysTray.add(trayIcon);
} التقاط (AWTException e1) { }
}
}
/**
* الطريقة الرئيسية
* @param args
*/
public static void main(String[] args) {
new MainFrame().setVisible(true);
}
}