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
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) {
}
};
}