我创建了一个JPopupmenu并添加了一个JTextField。当我使用金属或灵气时,一切都可以。问题是当我将LookAndFeel切换到Windows时。我不能按右ALT,因为如果我按下这个键,JPopupmenu会隐藏。LookAndFeel行为差异
我可以使用正确的ALT在Windows LookAndFeel中编写国家标志吗?
import javax.swing.*;
import java.awt.event.*;
public class Popup extends JFrame {
JPopupMenu popup;
JPanel panel;
JTextField field;
public Popup(){
setSize(500,400);
try {
//UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e1) {
e1.printStackTrace();
}
SwingUtilities.updateComponentTreeUI(this);
popup = new JPopupMenu();
field = new JTextField(10);
popup.add(field);
JButton button = new JButton("Options");
button.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
});
panel = new JPanel();
panel.add(button);
add(panel);
}
public static void main(String[] args){
Popup pop = new Popup();
pop.setVisible(true);
}
}
是的,这正是我所期望的。你试图达到什么目标?你可以考虑使用JWindow或未装饰的JFrame – MadProgrammer
看起来像这样。 [链接](http://oi58.tinypic.com/b5lceu.jpg) 我想筛选JList中的项目,最后选择一个 – Zbijlud
我会考虑使用未装饰的JFrame,但必须使用WindowFocusListener确定自动隐藏窗口。问题是,许多操作系统都希望显示字段和菜单的快捷键 – MadProgrammer