Swt Save / Fenster Im Fenster

hazy

Grünschnabel
HIho,

habe da zwei probleme und zwar möchte ich die Werte, die ich in ein ColumnTable einfüge speichern...ausserdem hätte ich gern ein Fenster was sich bei bedarf (button) im eigentlichen Fenster öffnet, hier mein bisheriger Code
Code:
package Customer;

import java.awt.peer.ButtonPeer;
import java.text.Collator;
import java.util.Locale;

import javax.swing.text.EditorKit;

import org.eclipse.jface.action.Action;
import org.eclipse.swt.*;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.custom.TableEditor;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.nebula.snippets.compositetable.CompositeTableSnippet0.Header;
import org.eclipse.swt.nebula.snippets.compositetable.CompositeTableSnippet0.Row;
import org.eclipse.swt.nebula.widgets.compositetable.CompositeTable;
import org.eclipse.swt.widgets.*;


import tutorial.FensterMitTablelleButtonsHaeckchenETC;
import tutorial.fenster2elements.MainWindow;

public class FastFertig {
	Table table;
	Display display; 
	public java.util.List people;
	public static void main(String[] args) {
		new FastFertig();
	}
	
	//generiert Checkbox, in benötigten Spalten
	public void createCheckbox(int column, TableItem item) {
		TableEditor editor = new TableEditor(table);
		Button button3 = new Button(table, SWT.CHECK);
		button3.pack();
		editor.minimumWidth = button3.getSize().x;
		editor.horizontalAlignment = SWT.LEFT;
		editor.setEditor(button3, item, column);}
	
	//generiert Text
	public void createText(int column, TableItem item) {
		TableEditor editor = new TableEditor(table);
		Text text = new Text(table, SWT.NONE);
		text.setText("              ");
		editor.grabHorizontal = true;
		editor.setEditor(text, item, column);}
    
	//generiert Button 1	
	public void createButton(Shell shell,int x, int y,int width, int height, String title){
	Button button = new Button(shell, SWT.PUSH);
	button.pack();
	button.setBounds(x, y, width, height);
	button.setText(title);
	button.addSelectionListener(listener);}
	
	//generiert Button 2
	public void createButton2(Shell shell,int x, int y,int width, int height, String title){
	Button button2 = new Button(shell, SWT.PUSH);
	button2.pack();
	button2.setBounds(x, y, width, height);
	button2.setText(title);
	button2.addSelectionListener(listener2);}
    
	//generiert Table
	public Table createTable(Shell shell,int columns,int x, int y,int width, int height){
	Table table = new Table(shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION| SWT.CENTER);
	table.setBounds(x, y, width, height);
	table.setLinesVisible(true); //zeigt Linien an
	table.setHeaderVisible(true); //Zeigt die Kopfzeile an
	table.setSize(table.computeSize(1200, 600));
	return table;	
	}
	//get text
	public void getText(){
		
	}

	
	FastFertig() {

		// 1) display auf
		display = new Display();
		
		// 2) shell auf (display, Breite, Länge, Name des Fensters)
		Shell shell = MainWindow.createMainWindow(display, 500, 500, "Versuch");
		
		//Fenster öffnen
		shell.open(); 
        
		// 3) Buttons (shell, x, y, Breite, Länge, Name)
		createButton(shell, 0, 0, 70, 20, "Neuer Kunde");
		createButton2(shell, 70, 0, 50, 20, "Save");
		
		// 4) Columns erstellen
	    table =createTable(shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION| SWT.CENTER|SWT.VIRTUAL,0, 60, 400, 400 );
		
	    // 5) benennt die Columns Überschriften
		String[] titles = { "Firma", "Branche", "Art des Dokuments", "Datum","URL", "Lizenznummer", "Lesezeichen", "Logo","Layoutanpassung", "Größenanpassung ", "Stufenloser Zoom","Inhaltsverzeichnis", "Suche", "Weitere Module" };
			
		// 6) benennt die Kopfzeilen
		TableColumn column[] = new TableColumn[titles.length];
		for (int i = 0; i < titles.length; i++) {
			column[i] = new TableColumn(table, SWT.RIGHT);
			column[i].setText(titles[i]);
		}
		for (int i = 0; i < titles.length; i++) {
			table.getColumn(i).pack();
		}
		
		for (int i = 0; i < titles.length; i++) {
			new TableItem(table, SWT.NONE);
		}
		TableItem[] items = table.getItems();
		for (int i = 0; i < items.length; i++) {
			TableEditor editor = new TableEditor(table);
			CCombo combo = new CCombo(table, SWT.NONE);
			combo.setText("Lizenzart");
			combo.add("Standard");
			combo.add("Enterprise");
			combo.add("Enterprise light");
			editor.grabHorizontal = true;
			editor.setEditor(combo, items[i], 2);
			//create Text (zeile)
			createText(0, items[i]);
			createText(1, items[i]);
			createText(3, items[i]);
			createText(4, items[i]);
			createText(5, items[i]);
			//create checkbox(zeile)
			createCheckbox(6, items[i]);
			createCheckbox(7, items[i]);
			createCheckbox(8, items[i]);
			createCheckbox(9, items[i]);
			createCheckbox(10, items[i]);
			createCheckbox(11, items[i]);
			createCheckbox(12, items[i]);
			createCheckbox(13, items[i]);
		// Test für den Sort
			TableItem item = new TableItem(table, SWT.NONE);
			item.setText(new String[] { "a", "3" });
		    item = new TableItem(table, SWT.NONE);
		    item.setText(new String[] { "b", "2" });
		    item = new TableItem(table, SWT.NONE);
		    item.setText(new String[] { "c", "1" });
		 	} // end for
//		 Add a new person when the user clicks button

		
		
		
		
		Listener sortListener = new Listener() {
		      public void handleEvent(Event e) {
		    	  
		    	  System.err.println("sortiere neu !");
		    	  
		        TableItem[] items = table.getItems();
		        Collator collator = Collator.getInstance(Locale.getDefault());
		        TableColumn column = (TableColumn) e.widget;
		        int index = column == column ? 0 : 2;
		        for (int i = 1; i < items.length; i++) {
		          String value1 = items[i].getText(index);
		          for (int j = 0; j < i; j++) {
		            String value2 = items[j].getText(index);
		            if (collator.compare(value1, value2) < 0) {
		              String[] values = { items[i].getText(0), items[i].getText(1) };
		              items[i].dispose();
		              TableItem item = new TableItem(table, SWT.NONE, j);
		              item.setText(values);
		              items = table.getItems();
		              break;
		            }
		          }
		        }
		        table.setSortColumn(column);
		      }
		    };		
		
	    table.setSortColumn(column[0]);
	    table.setSortDirection(SWT.UP);
	       

	    
	    
	    
	    for (int i = 0; i < titles.length; i++) 
	    {
	    	column[i].addListener(SWT.Selection, sortListener);
	    }
		
		shell.pack();
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
	}

	// sage den SelectionListener was sie tun sollen, wenn die Buttons gedrückt werden
	SelectionListener listener = new SelectionListener() {
		public void widgetSelected(SelectionEvent arg0) {
			 	
			
			
			System.out.println("Neuer Kunde");
		}
		public void widgetDefaultSelected(SelectionEvent arg0) {
		}
	};

	SelectionListener listener2 = new SelectionListener() {
		public void widgetSelected(SelectionEvent arg0) {
			System.out.println("save");
		}
		public void widgetDefaultSelected(SelectionEvent arg0) {
		}
	};

}
 
Zurück