Java Swing——使用弹出菜单:Popup类
来源:互联网 发布:各大电商平台比价软件 编辑:程序博客网 时间:2024/05/27 19:28
我们先来看看javax.swing.Popup的描述:
Popup 用于向用户显示 Component,它通常位于特定包含层次结构中所有其他 Component 的顶部。Popup 的生命周期很短。获取 Popup 并将它隐藏(调用 hide 方法)后,不应再对它调用任何方法。这允许 PopupFactory 缓存 Popup,以便将来使用。
一般不显式创建 Popup 的实例,而是改为从 PopupFactory 获取。
构造方法详细信息
protected Popup(Component owner, Component contents, int x, int y)为包含 Component content 的 Component owner 创建 Popup。owner 用于确定对于哪一个 Window 新 Popup 是 Component(Popup 创建的)的父级。null owner 暗示不存在有效的父级。x 和 y 指定放置 Popup 的首选初始位置。基于屏幕大小或其他参数,Popup 不能显示在 x 和 y 处。参数:owner - 组件鼠标坐标与其相关,它可以为 nullcontents - Popup 的内容x - 初始 x 屏幕坐标y - 初始的 y 屏幕坐标抛出:IllegalArgumentException - 如果内容为 null
那具体怎么使用呢?来看一个简单的例子:
代码示例:
package mouseTest;import java.awt.Color;import java.awt.Component;import java.awt.Point;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.Popup;import javax.swing.PopupFactory;import javax.swing.SwingUtilities;public class MouseTan extends JFrame{ private JLabel icon; private JButton jb; private JPanel panel; private Popup pop=null; public MouseTan(){ setBounds(100, 100, 300, 300); icon=new JLabel(new ImageIcon(this.getClass().getResource("date.gif"))); icon.setToolTipText("点击我,会弹出一个窗口"); icon.setBounds(20,20,20,25); icon.addMouseListener(new MouseAdapter(){ public void mousePressed(MouseEvent e){ showPanel(icon); } }); initPanel(); setLayout(null); getContentPane().add(icon); setVisible(true); setDefaultCloseOperation(3); } public void initPanel(){ panel=new JPanel(); jb=new JButton(); jb.setText("看,弹出来一个组件了吧?"); panel.add(jb); panel.setBackground(Color.pink); } public void showPanel(Component owner){ if(pop!=null) pop.hide(); Point show=new Point(0,icon.getHeight()); SwingUtilities.convertPointToScreen(show, icon); pop=PopupFactory.getSharedInstance().getPopup(owner, panel, show.x, show.y); pop.show(); } public static void main(String[] args) { new MouseTan(); }}
点击icon之后可以看到
阅读全文
0 0
- Java Swing——使用弹出菜单:Popup类
- 换一种方式弹出Swing Popup
- WPF自定义Popup和弹出菜单
- jquery 弹出框 使用popup
- 一个简单的java swing右键弹出菜单
- Java Swing 弹出对话框的使用
- Java Swing 弹出对话框的使用
- 【Android】菜单功能的实现:弹出Popup菜单 以及小结
- Java Swing 图形用户界面——菜单条、菜单与菜单项
- MFC实现托盘图标及弹出菜单(Popup menu)
- SDI客户区添加弹出菜单(Popup Menu)
- java swing菜单例子
- Java Swing右键菜单
- JAVA Swing 折叠菜单
- Swing之QQ状态弹出菜单
- [Java][swing]仿QQ登录框选择在线状态弹出菜单
- Java Swing中菜单栏、弹出式菜单、树形控件的使用
- Android开发技巧——使用PopupWindow实现弹出菜单
- mysql优化刘亚壮
- 【旧资料整理】c++ 二维数组a[][]中a+1和*(a+1)
- 4.3.6--N皇后问题--深搜
- matlab对文件目录进行自然排序
- Oracle中的left join,right join和inner join
- Java Swing——使用弹出菜单:Popup类
- jsp 中select 下拉选择框 el 三元运算符 如何选中与不选中
- 海牛简介
- 017. Spring 声明式事务管理(XML)
- POJ 2303 Russian Dolls 笔记
- 物理渲染学习笔记(一) —— 前置知识
- 【知识库】--spring AbstractAutowireCapableBeanFactory 创建bean(240)
- java中的异常
- Elasticsearch 5.1.1 head 插件安装指南