2017-09-05 54 views
0

我能够实现nattable的复制粘贴功能,它在nattable内部工作得很好,也适用于其他内部nattable。但不能粘贴外部系统的数据。我试图扩展Copyhandler和Paste处理程序。但我无法从系统剪贴板中获取数据。请帮助我。Nattable:需要帮助将数据从extenal源粘贴到Nattable

+0

取决于系统剪贴板上的数据类型。没有进一步的信息,很难提供帮 –

+0

我正在复制Excel中的数据并尝试将其粘贴到Nattable ....我知道在nattable中我们正在使用内部剪贴板....我们能够将数据复制到系统剪贴板,但是有没有可用于从系统剪贴板获取数据 – jugal

回答

0

要想从系统剪贴板中的数据时,从Excel先前复制的数据,你可以尝试使用下面的代码:

final Clipboard cb = new Clipboard(Display.getCurrent()); 

    Button paste = new Button(buttonPanel, SWT.PUSH); 
    paste.setText("Paste"); 
    paste.addListener(SWT.Selection, new Listener() { 
     @Override 
     public void handleEvent(Event e) { 
      TextTransfer transfer = TextTransfer.getInstance(); 
      String data = (String) cb.getContents(transfer); 
      if (data != null) { 
       System.out.println(data); 
      } 
     } 
    }); 

你只需要从系统剪贴板中的数据,并interprete它来搭配你的NatTable结构。而且您需要知道Excel会将新的行字符和制表符作为分隔符添加,以便您能够正确解析数据。

+0

感谢德克....我能够使用Nattable工作簿作为Excel工作簿...感谢您的帮助,所有的问题..... – jugal

+0

它如果工作,然后请接受答案表明也为其他人搜索相同的答案。 –