- 浏览: 732999 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
lingsuch:
Android网络连接判断与处理 -
月光照着我:
写的不错,作为笔记了
Android中LayoutInflater的使用 -
智博王锋:
好文章是要顶的!
Android中LayoutInflater的使用 -
云南白药:
...
Android中LayoutInflater的使用 -
万新one:
理解了许多。解释的不错。3Q.
Android中LayoutInflater的使用
package Assis; import java.awt.AWTException; import java.awt.Image; 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; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.GroupLayout; import javax.swing.JFrame; import javax.swing.GroupLayout.ParallelGroup; import javax.swing.GroupLayout.SequentialGroup; public class ToTrayIcon extends JFrame implements ActionListener, WindowListener { private static final long serialVersionUID = 1L; // Variables declaration - do not modify private javax.swing.JLabel L_img; private javax.swing.JLabel L_img2; private PopupMenu pop; private MenuItem open, close; private TrayIcon trayicon; // End of variables declaration /** Creates new form MainFrame */ public ToTrayIcon() { setTitle("Java实现系统托盘示例"); setLocation(300, 300); initComponents(); addWindowListener(this); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { // L_img = new javax.swing.JLabel(new // ImageIcon((MainFrame.class).getResource("com/topking/tray/images/netbean1.png"))); // L_img2 = new javax.swing.JLabel(new // ImageIcon((MainFrame.class).getResource("com/topking/tray/images/netbean2.png"))); L_img = new javax.swing.JLabel(); L_img2 = new javax.swing.JLabel(); pop = new PopupMenu(); open = new MenuItem("打开"); open.addActionListener(this); close = new MenuItem("关闭"); close.addActionListener(this); pop.add(open); pop.add(close); if (SystemTray.isSupported()) { SystemTray tray = SystemTray.getSystemTray(); Image icon = getToolkit().getImage( getClass().getResource("/user.png")); trayicon = new TrayIcon(icon, "系统托盘示例(java)", pop); trayicon.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { if (getExtendedState() == JFrame.ICONIFIED) { openFrame();// 还原窗口 } else { // 设置窗口状态(最小化至托盘) setExtendedState(JFrame.ICONIFIED); } } } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } }); try { tray.add(trayicon); } catch (AWTException e) { e.printStackTrace(); } } /** *设置界面布局,可以不用理睬它 */ GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); ParallelGroup parg = layout .createParallelGroup(GroupLayout.Alignment.LEADING); SequentialGroup seqg = layout.createSequentialGroup(); ParallelGroup parg2 = layout .createParallelGroup(GroupLayout.Alignment.TRAILING); ParallelGroup parg3 = parg2.addComponent(L_img2, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE); ParallelGroup parg4 = parg3.addComponent(L_img, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE); SequentialGroup seqg2 = seqg.addContainerGap(); SequentialGroup seqg3 = seqg2.addGroup(parg4); SequentialGroup seqg4 = seqg3.addContainerGap(); ParallelGroup parg5 = parg.addGroup(GroupLayout.Alignment.TRAILING, seqg4); layout.setHorizontalGroup(parg5); parg = layout.createParallelGroup(GroupLayout.Alignment.LEADING); layout.setVerticalGroup(parg.addGroup(layout.createSequentialGroup() .addContainerGap().addComponent(L_img).addGap(29, 29, 29) .addComponent(L_img2, GroupLayout.PREFERRED_SIZE, 222, GroupLayout.PREFERRED_SIZE).addContainerGap(39, Short.MAX_VALUE))); pack(); } /** * @param args * the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new ToTrayIcon().setVisible(true); } }); } public void actionPerformed(ActionEvent e) { if (e.getSource() == open) { openFrame(); } if (e.getSource() == close) { System.exit(-1); } } public void openFrame() { setVisible(true);// 设置为可见 setAlwaysOnTop(true);// 设置置顶 // 设置窗口状态(在最小化状态弹出显示) setExtendedState(JFrame.NORMAL); } public void windowActivated(WindowEvent arg0) { } public void windowClosed(WindowEvent arg0) { dispose(); } public void windowClosing(WindowEvent arg0) { } public void windowDeactivated(WindowEvent arg0) { } public void windowDeiconified(WindowEvent arg0) { } // 窗口最小化 public void windowIconified(WindowEvent arg0) { setVisible(false);// 设置为不可见 } public void windowOpened(WindowEvent arg0) { } }
发表评论
-
Swing中引入Android的NinePatch技术,让Swing拥有Android的外观定制能力
2012-09-21 09:22 1631【摘要】 本文诣在 ... -
JavaSwing实现支持合并拆分的JTable
2010-12-16 15:39 1980GridBagModel:抽象模型接口。该接口用于描述表格中单 ... -
JTable小例子,表格中使用JComboBox下拉按钮
2010-12-16 15:21 5429import java.awt.BorderLayout; ... -
配合滚动面板实现JTable上下翻页的效果
2010-12-16 14:26 3427import java.awt.BorderLayout; ... -
JScrollBar简单演示例子
2010-12-06 19:28 6628import java.awt.*; import java ... -
点击jtable的表头,数据会根据根据表头来排序
2010-12-06 11:47 5142import javax.swing.JFrame; imp ... -
重写JSplitPane的BasicSplitPaneUI
2010-09-18 13:39 1581import java.awt.Color; import ... -
Swing窗口初始最大化的方法
2010-08-20 11:09 79131.设置窗口最大(伪最大化) JFrame frame =n ... -
Tree目录实现拖拽功能演示实例(DragAndDrop)
2010-08-10 16:49 1802import java.awt.BorderLayout; ... -
设置JTextPane指定内容的颜色
2010-05-21 14:29 1373package Assis; import java.a ... -
ScaleImageDemo图像缩小与放大演示
2010-05-12 14:59 2126package Assis; import java.a ... -
TreesDemo
2010-05-04 11:19 1094import java.awt.*; import java ... -
TableDemo
2010-05-04 11:17 1206import javax.swing.JTable; imp ... -
分割面板演示JSplitPaneDemo
2010-05-04 11:12 1400//Java Swing 带分隔条的面板代码 impor ... -
StylesExample8
2010-04-08 12:55 1212import javax.swing.*; import j ... -
StylesExample7
2010-04-08 12:54 1008import javax.swing.*; import j ... -
StylesExample6
2010-04-08 12:52 1072import javax.swing.*; import j ... -
StylesExample5
2010-04-08 12:51 1003import javax.swing.*; import j ... -
StylesExample4
2010-04-08 12:50 1120import javax.swing.*; import j ... -
StylesExample3
2010-04-08 12:50 1013import javax.swing.*; import j ...
相关推荐
8. **窗口最小化处理**: 当用户点击窗口的最小化按钮时,可以调用`dispose()`方法关闭窗口,并将焦点移到托盘图标上。 9. **处理窗口事件**: 为了实现从托盘恢复窗口,需要监听窗口状态事件,例如`WindowListener`...
在Java的Swing库中,实现系统托盘功能可以为应用程序提供一个持续的交互界面,即使主窗口已经最小化或关闭。系统托盘,也称为通知区域或系统通知区,通常位于操作系统任务栏的右侧,允许用户快速访问常用的功能或...
"JFrame最小化到托盘"指的是当用户点击窗口的最小化按钮时,不是将窗口缩小到任务栏,而是将其隐藏到系统托盘区域。这种方式通常用于需要长时间运行的应用程序,如聊天软件、下载工具等,它能让用户在不占用桌面空间...
在Java编程中,将应用程序最小化到系统托盘是一项常见的需求,特别是在开发桌面应用时,用户可能希望在不关闭程序的情况下将其隐藏。本资源提供的"Java程序最小到系统托盘源代码"是通过JNI(Java Native Interface)...
在Java中,实现应用程序最小化至系统托盘是一项常见但实用的功能,尤其对于后台服务或者不希望占据屏幕空间的应用程序而言。本文将详细介绍如何利用Java AWT包中的`SystemTray`类以及`TrayIcon`类来实现这一功能。 ...
最后,为了在主窗口最小化时自动隐藏到系统托盘,我们需要在窗口的`WindowListener`中添加相应的逻辑: ```java frame.addWindowStateListener(new WindowAdapter() { @Override public void windowMinimized...
1. **最小化到系统托盘**:当用户点击程序的最小化按钮时,程序并不关闭,而是隐藏其主窗口,只在系统托盘显示图标。这样,用户可以在任何时候通过点击托盘图标快速恢复程序窗口。 2. **持续运行服务**:一些需要在...
在Java编程中,实现系统托盘功能主要涉及到`java.awt.TrayIcon`类,这是Java Swing库的一部分,用于在操作系统的任务栏或系统托盘区域创建和管理图标。这个功能通常用于提供一种方式,使得即使主窗口被最小化或者...
- 程序设计:开发者在编写应用程序时,会用到特定的API(如Windows API中的`Shell_NotifyIcon`函数)来设置程序在最小化时将窗口隐藏并显示托盘图标。 - 配置设置:部分程序允许用户在设置中选择是否在最小化时...
Java系统托盘是Java应用程序与操作系统桌面环境交互的一种方式,它允许程序在主窗口最小化或隐藏时,仍然可以通过系统托盘图标进行操作。在Windows系统中,这种功能通常表现为程序图标出现在开始菜单右下角的任务栏...
在Java编程语言中,系统托盘图标(System Tray Icon)是一种功能强大的用户界面元素,它允许应用程序在操作系统任务栏的托盘区域显示图标并提供菜单或快捷操作,即使主窗口被最小化或隐藏也能与用户交互。...
在Java编程环境中,实现系统托盘功能是一项常见的需求,它允许程序在主窗口最小化或关闭后仍然在操作系统任务栏的系统托盘区域保持活跃,从而提供便捷的访问入口,如QQ、微信等应用程序就广泛使用了这一特性。本文将...
最小化到系统托盘的功能通过`SystemTray`和`TrayIcon`类实现。当用户点击最小化按钮时,窗口将隐藏,图标出现在系统托盘区。用户可以通过托盘图标重新显示窗口。 依附边沿自动隐藏的特性类似于QQ的消息框,通过检测...
用户可以通过将悬浮球最小化到系统托盘,而不是关闭它。这需要实现TrayIcon类,并添加适当的监听器来处理点击事件。 8. **资源管理**: `icon`文件可能是一个PNG或JPEG图像,Java的ImageIcon类可以加载这种图像资源...
通过以上步骤,你可以创建一个具有自定义菜单的系统托盘图标,使用户即使在最小化程序后也能访问关键功能。这在现代桌面应用中是非常实用的设计,特别是在需要后台运行或快速访问设置的情况下。在实际开发中,你还...
当用户将程序最小化到系统托盘后,可以通过托盘图标进行操作,如显示主窗口、退出程序等。 论文部分可能详细阐述了项目的背景、设计思路、技术实现、性能分析以及可能的改进方向。它为理解项目的整体架构、技术选型...
系统托盘是操作系统任务栏的一部分,允许应用程序在主窗口最小化或隐藏时,仍然可以通过图标提供交互。JDIC提供了`SystemTray`类,使得Java程序能够轻松地创建和管理这些托盘图标。通过`SystemTray`,开发者可以设置...
在本项目中,系统托盘功能允许用户将通讯录程序最小化到系统托盘,节省桌面空间,提高用户体验。这通常通过JNI(Java Native Interface)或者特定的库如JNA(Java Native Access)实现,调用操作系统级别的API来完成...
系统托盘,也被称为通知区域或任务栏图标,是Windows操作系统中一个重要的功能,它允许应用程序在主界面被最小化或者隐藏时,仍然在后台运行并提供必要的交互。本示例是一个功能完整的系统托盘应用,它展示了如何...
同时,Java的多线程能力使得程序能在后台运行,即使窗口最小化也能响应用户的操作。 其次,SQL(Structured Query Language)是用于管理关系数据库的标准语言。在电子通讯录应用中,SQL用于存储和检索联系人数据。...