问题描述
您好,我想在点击表格行时生成一个opiton列表。 我正在使用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){
}
}
1楼
我需要类似的功能,将JList添加到窗口中并显示效果很好。 当然,您需要以某种方式处理处置等。
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);
}
}
});
编辑 :添加了处置选项。 单击表将放置在窗口之外。
2楼
我想在单击表格行时生成一个opitons列表
然后,您可能应该使用JPopupMenu
。
那是在使用右键单击时通常在应用程序中使用的弹出菜单。
弹出菜单允许您基于所选项目调用操作,然后弹出窗口将自动关闭。
有关更多信息和示例,请参见Swing教程中的 ”部分。