Rah*_*hul 2 java sql-server swing jtable
我正在用Java创建一个医院项目,我已经创建了一个JTable
获取医院名称和医院图像链接,即"Click to see more"
从SQL数据库获取.我的问题是数据已成功从数据库提取到表中,但我无法单击表格单元格中的链接.
如何激活链接?
考虑使用JXTable(一类SwingX):它支持超链接渲染器,可根据单元格值配置为执行任何操作
JXTable table = new JXTable(myModel);
AbstractHyperlinkAction<Object> simpleAction = new AbstractHyperlinkAction<Object>(null) {
public void actionPerformed(ActionEvent e) {
// here goes what you want to do on activating the hyperlink
//LOG.info("hit: " + getTarget());
}
};
TableCellRenderer renderer = new DefaultTableRenderer(
new HyperlinkProvider(simpleAction));
table.getColumnExt(0).setEditable(false);
table.getColumnExt(0).setCellRenderer(renderer);
Run Code Online (Sandbox Code Playgroud)
您可以创建一个可以在单击鼠标时激活TableCellEditor
其isCellEditable
方法的方法.坦率地说,这只是变得混乱.
或者,您可以MouseListener
直接将表格附加到表格并监控mouseClicked
事件.
在单击的事件上,您可能需要getSelectedColumn和getSelectedRow来确定他们是否已单击所需的列并使用getValueAt从所选单元格中获取链接值
您需要考虑到表可能已排序或列不再按您启动它们的顺序(用户可能已移动它们).
然后你需要convertColumnIndexToView和convertRowIndexToModel
简单:D