2017-08-18 7 views
0

jtableの特定のRowをhtmlとして表示しようとしています...代わりに出力としてテーブル全体を取得しています...テーブル全体ではなく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); 
    } 
+0

'私は間違いを犯していますが??' - あなたの[MCVE]どこにあるの?あなたは適切な 'MCVE'がすべての質問と一緒に掲示されるべきであると言われる必要が何度ですか?問題が解決するまでは、問題がどこにあるかわからないため、必要なときにコードをコンパイルしてテストできる必要があります。 – camickr

答えて

1

代わりのtable.selectAll()を使用して、ちょうどJTablesetRowSelectionInterval(int indexBegin, int indexEnd)メソッドを使用します。

のみ最初の行の例:

table.setRowSelectionInterval(0, 0); 
+0

ありがとうございます。しかし、私は同じフォーマットでも列ヘッダーを取得する方法が不思議でした – anrdggle

+0

あなたはあなたが役に立つかもしれない 'setColumnSelectionInterval'メソッドもあります。 – Berger

+0

ありがとう – anrdggle

関連する問題