我试图将 jtable 的特定行显示为 html...但相反,我将整个表作为输出...我只想将我的行数据包含在 html 中,而不是整个表... 以下是我正在尝试做的事情......我在哪里犯了错误??
public static void go() {
javax.swing.JTable table = new javax.swing.JTable(
new Object[][] { new Object[] { "Row00", "Row01" }, new Object[] { "Row11", "Row12" }, },
new Object[] { "Col A", "Col B" });
table.selectAll();
javax.swing.TransferHandler handler = table.getTransferHandler();
if (handler == null) {
System.err.println("No handler.");
return;
}
int actions = handler.getSourceActions(table);
if ((actions & javax.swing.TransferHandler.COPY) == 0) {
System.err.println("Not copy.");
return;
}
java.awt.datatransfer.Clipboard clipboard = new java.awt.datatransfer.Clipboard(
"Export");
try {
handler.exportToClipboard(table, clipboard, javax.swing.TransferHandler.COPY);
} catch (IllegalStateException exc) {
exc.printStackTrace();
return;
}
java.awt.datatransfer.Transferable transferable = clipboard.getContents(null);
if (transferable == null) {
System.err.println("clipboard");
return;
}
if (!transferable.isDataFlavorSupported(HTML_STRING_FLAVOR)) {
System.err.println("not supported");
return;
}
try {
Object data = transferable.getTransferData(HTML_STRING_FLAVOR);
System.out.println(data);
}
最佳答案
而不是使用 table.selectAll()
,只需使用 setRowSelectionInterval(int indexBegin, int indexEnd)
方法JTable
.
仅第一行的示例:
table.setRowSelectionInterval(0, 0);
关于java - 无法获取 html 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45757419/