我创建了一个像这样的jtable:
String name = temp.getName();
String enemy = namaFileUtama.toString();
DefaultTableModel models = (DefaultTableModel) Main_Menu.jTable4.getModel();
List<ReportMomentOfTruth> theListRMOT = new ArrayList<ReportMomentOfTruth>();
ReportMomentOfTruth rmot = new ReportMomentOfTruth();
rmot.setNameOfMainFile(name);
rmot.setNameOfComparingFile(enemy);
theListRMOT.add(rmot);
for (ReportMomentOfTruth reportMomentOfTruth : theListRMOT) {
models.addRow(new Object[]{
reportMomentOfTruth.getNamaFileUtama(),
reportMomentOfTruth.getNamaFilePembanding(),
});
}
你知道,我不明白。如果我在jtable中单击一行,那么如何在jTextArea中显示包含该文件?有什么建议吗?或许是什么例子? 感谢
edit
你知道,我正在使用netbeans,我可以得到这样的方法
private void jTable4MouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount() == 1) {
}
}
现在怎么样?
答案 0 :(得分:3)
如果我点击jtable中的一行,那么如何在jTextArea中显示包含该文件?
您可以更好地使用具有JEditorPane
方法的setPage()
,该方法可用于从网址初始化组件。
只需获取所选行的值,然后使用下面的代码在JEditorPane
中设置内容。
示例代码:
final JEditorPane document = new JEditorPane();
document.setPage(new File(".../a.java").toURI().toURL());
添加ListSelectionListener
以检测JTable
final JTable jTable = new JTable();
jTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
int row = jTable.getSelectedRow();
if(row != -1){
String firstColumnValue = jTable.getModel().getValueAt(row, 0).toString();
String secondColumnValue = jTable.getModel().getValueAt(row, 1).toString();
// load the JEditorPane
}
}
});;