Простой способ обучения : запись текстового поля добавляется в таблицу, и выбранная строка может отображаться в текстовом поле с помощью SWT
package rcp_demo.Views;
import org.eclipse.swt.widgets.Composite;
public class TaskView extends ViewPart {
public static Table table;
public static TableViewer tableViewer;
public static TableItem std_item;
private Text txt_1,txt_2,txt_3;
Student stud=new Student();
List<Student> std=new ArrayList<Student>();
public TaskView() {
setTitleImage(SWTResourceManager.getImage("D:\\Icon\\Tasksview.png"));
}
@Override
public void createPartControl(Composite parent) {
parent.setLayout(null);
//Three Text
txt_1 = new Text(parent, SWT.BORDER);
txt_1.setBounds(21, 10, 76, 19);
txt_2 = new Text(parent, SWT.BORDER);
txt_2.setBounds(119, 10, 76, 19);
txt_3 = new Text(parent, SWT.BORDER);
txt_3.setBounds(222, 10, 76, 19);
tableViewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION);
table = tableViewer.getTable();
//how to pass values of a selected row from tableviewer to a text box in SWT
table.addListener(SWT.Selection, new Listener()
{
@Override
public void handleEvent(Event e) {
Table table = (Table) e.widget;
TableItem item = table.getItem(table.getSelectionIndex());
/* Fill the texts */
for (int col = 0; col < table.getColumnCount(); col++)
{
if(col==0)
{
txt_1.setText(item.getText(col));
}
else if(col==1)
{
txt_2.setText(item.getText(col));
}
else if(col==2)
{
txt_3.setText(item.getText(col));
}
}
}
});
table.setBounds(21, 47, 290, 213);
table.setHeaderVisible(true);
table.setLinesVisible(true);
//ADD Button
Button btnAdd = new Button(parent, SWT.NONE);
btnAdd.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
std.add(new Student(txt_1.getText(),txt_2.getText(),txt_3.getText()));
std_item=new TableItem(table, SWT.NONE);
std_item.setText(0,txt_1.getText());
std_item.setText(1,txt_2.getText());
std_item.setText(2,txt_3.getText());
}
});
btnAdd.setBounds(304, 10, 68, 23);
btnAdd.setText("Add");
//Dynamic add column Name using TableViewerColumn
String[] Col_names={"Stud_id","Stud_Name","Stud_Gender"};
for(int i=0;i<Col_names.length;i++)
{
TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
TableColumn tblclmnNewColumn = tableViewerColumn.getColumn();
tblclmnNewColumn.setWidth(100);
tblclmnNewColumn.setText(Col_names[i]);
}
//(class: Student)static Item/Data Add
std.add(new Student("110","Deni","Male"));
std.add(new Student("111","Hina","Female"));
std.add(new Student("112","Jem","Male"));
for(Student s:std)
{
TableItem std_item=new TableItem(table, SWT.NONE);
std_item.setText(0,s.getStd_id());
std_item.setText(1,s.getStd_nm());
std_item.setText(2,s.getStd_gender());
}
}
public TableViewer getViewer() {
return tableViewer;
}
@Override
public void setFocus() {
tableViewer.getControl().setFocus();
}
}
Имя класса: Student.java
package rcp_demo.TableView;
public class Student {
private String std_id;
private String std_nm;
private String std_gender;
public Student() {
// TODO Auto-generated constructor stub
}
public Student(String sid,String snm,String sgender) {
std_id=sid;
std_nm=snm;
std_gender=sgender;
}
public String getStd_id() {
return std_id;
}
public void setStd_id(String std_id) {
this.std_id = std_id;
}
public String getStd_nm() {
return std_nm;
}
public void setStd_nm(String std_nm) {
this.std_nm = std_nm;
}
public String getStd_gender() {
return std_gender;
}
public void setStd_gender(String std_gender) {
this.std_gender = std_gender;
}
}