您好,我想在单击表行时生成一个选项列表。我使用的是JList,表是用调色板设计的。表的名称是tabSitesTBL。不幸的是,当单击一行时,列表不显示。这是我的无效代码。谢谢你的帮助。
private void tabSitesTBLMouseClicked(java.awt.event.MouseEvent evt) {
try{
String options [] = { "voir","contacter","reserver"};
JList maliste = new JList(options);
maliste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jPanel1.add(new JScrollPane(maliste));
jPanel1.revalidate();
jPanel1.repaint();
//options.setVisible(true);
}catch(Exception ex){
}
}
我需要类似的功能,将JList添加到窗口并正常显示它。当然,您需要以某种方式处理dispose等。
jTable.addMouseListener(new MouseAdapter() {
private JWindow window = null;
@Override public void mouseClicked(MouseEvent e) {
if(window != null) {
window.dispose();
window = null ;
}
if (e.getButton() == 3) { // e.isPopupTrigger() is not working on my Mac
String options[] = { "voir", "contacter", "reserver" };
JList<String> maliste = new JList<String>(options);
maliste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
window = new JWindow();
window.getContentPane().add(new JScrollPane(maliste));
window.pack();
window.setLocation(e.getXOnScreen(), e.getYOnScreen());
window.setVisible(true);
}
}
});
Edit:增加了dispose的选项。点击表格将关闭窗口。
我想在单击表行时生成一个选项列表
那么你可能应该使用JPopupMenu
。这是一个弹出式菜单,通常使用在应用程序中,当使用右键单击。弹出式菜单允许您调用基于所选项目的操作,然后弹出式菜单将自动关闭。
请参阅Swing教程中关于弹出菜单的部分,了解更多信息和示例。