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 好听的元旦简短祝福语