Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SWT: Table with copy/paste functions

Tags:

java

swt

This maybe a really silly question but I just could not find the answer anywhere, is there any way for the user to be able to highlight rows in an SWT Table and either ctrl+c or right-click+c to copy the values?

I would specifically like to be able to copy into an excel sheet.

This is how I create the table,

Table aTable = new Table(parent, SWT.SINGLE | SWT.BORDER
                | SWT.FULL_SELECTION);
aTable.setHeaderVisible(true);
aTable.setLinesVisible(true);

aTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

I have seen information about this using a JTable but nothing with an SWT. If JTable is my only option, then what would be the dis/advantages of using either?

like image 465
nbz Avatar asked Mar 05 '26 01:03

nbz


1 Answers

You can easily code it.

Add a key listener to your table and listen for Ctrl+C keys. When Ctrl+C is hit, get the selection from the table, extract text from each of the TableItems and form a tab-separated-fields/newline-separated-rows String containing your data. Then just put it into clipboard (see org.eclipse.swt.dnd.Clipboard#setContents, use TextTransfer data type).

That is it - your result will be pasteable into Excel.

like image 188
vitaly Avatar answered Mar 07 '26 14:03

vitaly



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!