Java如何确定是否显示JComboBox菜单?
本示例说明如何创建一个实现,PopupMenuListener以侦听JComboBox菜单可见,不可见或取消时的菜单。
package org.nhooo.example.swing;
import javax.swing.*;
import javax.swing.event.PopupMenuListener;
import javax.swing.event.PopupMenuEvent;
import java.awt.*;
public class ComboBoxPopupMenuListener extends JFrame {
public ComboBoxPopupMenuListener() {
initialize();
}
private void initialize() {
setSize(300, 300);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new FlowLayout(FlowLayout.LEFT));
Integer[] years = new Integer[] {2005, 2006, 2007, 2008, 2009, 2010};
JComboBox<Integer> comboBox = new JComboBox<>(years);
comboBox.setEditable(true);
//添加一个PopupMenu侦听器,它将监听通知
//来自组合框弹出部分的消息。
comboBox.addPopupMenuListener(new PopupMenuListener() {
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
//在弹出菜单变为可见之前调用此方法。
System.out.println("PopupMenuWillBecomeVisible");
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
//在弹出菜单不可见之前调用此方法
System.out.println("PopupMenuWillBecomeInvisible");
}
public void popupMenuCanceled(PopupMenuEvent e) {
//取消弹出菜单时调用此方法
System.out.println("PopupMenuCanceled");
}
});
getContentPane().add(comboBox);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ComboBoxPopupMenuListener().setVisible(true);
}
});
}
}
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短