Unterschiede

Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.

swt-jface:table 2008/08/04 16:54 swt-jface:table 2020/01/22 20:59 aktuell
Zeile 1: Zeile 1:
-====== Table in ScrolledForm ======+[[swt-jface:swt-jface|Java - SWT/JFace]]\\ 
 +====== Table ======
//org.eclipse.swt.widgets.Table//\\ //org.eclipse.swt.widgets.Table//\\
-//org.eclipse.ui.forms.widgets.ScrolledForm//\\ +{{:swt-jface:table.png|}}\\ 
-<code java+\\ 
-public void createControl(Composite parent){ +<html
-  Composite composite = new Composite(parent, SWT.NULL);+   <script type="text/javascript"><!-- 
 +      google_ad_client="pub-9681858985507948"; 
 +      google_ad_width = 468; 
 +      google_ad_height = 60; 
 +      google_ad_format = "468x60_as"; 
 +      google_ad_type = "text"; 
 +      google_ad_channel = ""; 
 +      google_color_border = "cccccc"; 
 +      google_color_bg = "FFFFFF"; 
 +      google_color_link = "1d2d8c"; 
 +      google_color_text = "000000"; 
 +      google_color_url = "1d2d8c"; 
 +      //--> 
 +  </script> 
 +  <script type="text/javascript" 
 +      src="http://pagead2.googlesyndication.com/pagead/show_ads.js";
 +  </script> 
 +</html> 
 +\\
-  //ScrolledForm initialisieren:  +Einfaches Beispiel für eine Tabelle.\\ 
-   scrolledForm = getFormToolkit().createScrolledForm(composite); +(Basis ist wieder die [[eclipse-rcp::source-example-application|Source-Beispiel-Applikation]]; die dort vorhandene Klasse MyEditorPage muss nur durch die Klasse MyEditorPageTable ersetzt werden.)\\ 
-   scrolledForm.setExpandHorizontal(false)+<code>
-   scrolledForm.getBody().setLayout(new GridLayout());+package com.sowas.javawiki.rcpbaseapplication;
-  //Tabelle mit ScrolledForm als parent erzeugen: +import java.util.ArrayList;
-  table = getFormToolkit().createTable(scrolledForm.getBody(), SWT.NONE);+
-  setControl(composite);                              +import org.eclipse.jface.viewers.ILabelProviderListener; 
-}  +import org.eclipse.jface.viewers.IStructuredContentProvider; 
-</code>\\+import org.eclipse.jface.viewers.ITableLabelProvider; 
 +import org.eclipse.jface.viewers.TableViewer; 
 +import org.eclipse.jface.viewers.Viewer; 
 +import org.eclipse.swt.SWT; 
 +import org.eclipse.swt.graphics.Image; 
 +import org.eclipse.swt.layout.GridData; 
 +import org.eclipse.swt.layout.GridLayout; 
 +import org.eclipse.swt.widgets.Composite; 
 +import org.eclipse.swt.widgets.Label; 
 +import org.eclipse.swt.widgets.Table; 
 +import org.eclipse.swt.widgets.TableColumn; 
 +import org.eclipse.ui.forms.IManagedForm; 
 +import org.eclipse.ui.forms.editor.FormEditor; 
 +import org.eclipse.ui.forms.editor.FormPage; 
 +import org.eclipse.ui.forms.editor.IFormPage; 
 +import org.eclipse.ui.forms.widgets.FormToolkit; 
 + 
 +public class MyEditorPageTable extends FormPage implements IFormPage { 
 +  private Table      table; 
 +  private FormToolkit formToolkit; 
 +  private TableViewer tableViewer; 
 +  private Addresses  addresses; 
 +  private String[]   columnNames = {"Nachname", "Vorname"}; 
 + 
 +  public MyEditorPageTable(FormEditor editor, String pageId, String pageTitle) { 
 +      super(editor, pageId, pageTitle); 
 +       
 +      addresses = new Addresses(); 
 +  } 
 + 
 +  @Override 
 +  protected void createFormContent(IManagedForm managedForm) { 
 +      super.createFormContent(managedForm); 
 +      Composite client = managedForm.getForm().getBody(); 
 +      client.setLayout(new GridLayout(2, false)); 
 +      formToolkit = managedForm.getToolkit(); 
 +       
 +      Label label = formToolkit.createLabel(client, "Tabelle:"); 
 +      GridData gdLabel = new GridData(GridData.FILL_VERTICAL); 
 +      gdLabel.verticalAlignment = SWT.TOP; 
 +      label.setLayoutData(gdLabel); 
 +       
 +      table = formToolkit.createTable(client, SWT.BORDER); 
 +      GridData gridData = new GridData(GridData.FILL_BOTH); 
 +      gridData.heightHint = 100; 
 +      table.setLayoutData(gridData); 
 +      table.setHeaderVisible(true); 
 +      table.setLinesVisible(true); 
 +      int col = 0; 
 +      TableColumn tcLastName = new TableColumn(table, SWT.LEFT, col); 
 +      tcLastName.setText(columnNames[col]); 
 +      col++; 
 +      TableColumn tcFirstName = new TableColumn(table, SWT.LEFT, col); 
 +      tcFirstName.setText(columnNames[col]); 
 +      for (int i =0; i < table.getColumnCount(); i++) 
 +        table.getColumn(i).pack(); 
 +      tableViewer = new TableViewer(table); 
 +      tableViewer.setColumnProperties(columnNames); 
 +      tableViewer.setContentProvider(new IStructuredContentProvider() { 
 + 
 +        @Override 
 +        public Object[] getElements(Object inputElement) { 
 +            System.out.println("getElements()"); 
 +            return ((Addresses)inputElement).getAddesses(); 
 +        } 
 + 
 +        @Override 
 +        public void dispose() { 
 +        } 
 + 
 +        @Override 
 +        public void inputChanged(Viewer viewer, Object oldInput, 
 +              Object newInput) { 
 +        } 
 +         
 +      }); 
 +      tableViewer.setLabelProvider(new ITableLabelProvider() { 
 + 
 +        @Override 
 +        public Image getColumnImage(Object element, int columnIndex) { 
 +            return null; 
 +        } 
 + 
 +        @Override 
 +        public String getColumnText(Object element, int columnIndex) { 
 +            String text = ""; 
 +            Address addr = (Address) element; 
 +            switch (columnIndex) { 
 +              case 0: text = addr.getLastName(); break; 
 +              case 1: text = addr.getFirstName(); break; 
 +            } 
 +            System.out.println(text); 
 +            return text; 
 +        } 
 + 
 +        @Override 
 +        public void addListener(ILabelProviderListener listener) { 
 +        } 
 + 
 +        @Override 
 +        public void dispose() { 
 +        } 
 + 
 + 
 + 
 + 
 +        @Override 
 +        public boolean isLabelProperty(Object element, String property) { 
 +            return false; 
 +        } 
 + 
 +        @Override 
 +        public void removeListener(ILabelProviderListener listener) { 
 +        } 
 +      }); 
 +      tableViewer.setInput(addresses); 
 +      tableViewer.refresh(); 
 +  } 
 +
 + 
 +class Addresses { 
 +  ArrayList<Address> addresses = new ArrayList<Address>(); 
 +   
 +  public Addresses() { 
 +      addresses.add(new Address("Apfel", "Anton")); 
 +      addresses.add(new Address("Hüpfer", "Hugo")); 
 +      addresses.add(new Address("Frosch", "Frodo")); 
 +      addresses.add(new Address("Kaninchen", "Sabinchen")); 
 +      addresses.add(new Address("Topfdeckel", "Teo")); 
 +      addresses.add(new Address("Traurig", "Trude")); 
 +      addresses.add(new Address("Warmer", "Werner")); 
 +  } 
 + 
 +  public Object[] getAddesses() { 
 +      return addresses.toArray(new Address[0]); 
 +  } 
 +
 + 
 +class Address { 
 +  private String strLastName; 
 +  private String strFirstName; 
 +   
 +  public Address(String strLastName, String strFirstName) { 
 +      this.strLastName = strLastName; 
 +      this.strFirstName = strFirstName; 
 +  } 
 +  public void setLastName(String strLastName) { 
 +      this.strLastName = strLastName; 
 +  } 
 +  public String getLastName() { 
 +      return strLastName; 
 +  } 
 +  public void setFirstName(String strFirstName) { 
 +      this.strFirstName = strFirstName; 
 +  } 
 +  public String getFirstName() { 
 +      return strFirstName; 
 +  } 
 +
 +</code> 
 +\\ 
 +Flags für die Tabellenerstellung:\\ 
 +**SWT.SINGLE** - Es kann immer eine Tabellenzeile zur Zeit selektiert werden\\ 
 +**SWT.MULTI** - Es können mehrere Tabellenzeilen gleichzeitig selektiert sein\\ 
 +**SWT.CHECK** - Plaziert eine Check-Box am Anfang jeder Zeile\\ 
 +**SWT.FULL_SELECTION** - Die ganze selektierte Zeile wird eingefärbt\\ 
 +**SWT.HIDE_SELECTION** - Selektierte Zeilen/Zellen werden nicht eingefärbt\\

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007