【发布时间】:2026-02-17 10:55:01
【问题描述】:
我有一个 Java 小程序,它包含几个用户必须与之交互的弹出菜单。但是,添加时 JPopupMenu 不会显示。这是我的代码:
public class Parser extends JApplet implements ActionListener {
private static final long serialVersionUID = 1L;
JPopupMenu deviceMenu;
JButton downloadButton;
Map <String, Object> deviceDict;
public void init () {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
createGUI();
}
});
}
catch (Exception e) {
System.err.println("createGUI didn't successfully complete");
}
}
public void createGUI() {
try {
URL url = new URL("[URL]");
URLConnection conn = url.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(
conn.getInputStream()));
String inputLine;
String xml = "";
while ((inputLine = in.readLine()) != null)
xml = xml + inputLine;
deviceDict = Plist.fromXml(xml);
System.out.print(deviceDict);
}
catch (XmlParseException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
setLayout(new FlowLayout());
setPreferredSize(new Dimension(480, 360));
setSize(480, 360);
Iterator <String> deviceIterator = deviceDict.keySet().iterator();
deviceMenu = new JPopupMenu("Test");
while (deviceIterator.hasNext()) {
JMenuItem item = new JMenuItem(deviceIterator.next());
deviceMenu.add(item);
}
add(deviceMenu);
}
}
有什么想法吗?
【问题讨论】:
-
使用 JComboBox,而不是 JPopupMenu
标签: java swing user-interface jpopupmenu japplet