D
DerPaul2010
Gast
Hallo,
kenne mich mit SWT nicht so sehr aus, vor allem mit den EventListener.
Ich habe eine Tabelle, deren Einträge ich aus vorhandenen Daten hole und in der Tabelle anzeige.
Nun sollen nachträglich auch bestimmte Werte in die Tabelle eingetragen werden, die in ein TextFeld eingegeben werden
und per OK-Button in die entsprechende stelle in der Tabelle gespeichert werden sollen.
Das ganze Problem besteht darin, das ich nicht weiss welches EventListener ich mir anschauen soll.
Habe im Google nach Stichwörtern wie "Text speichern Button swt event " geschaut und bin solche Codebeispiele gelangt,
wie auf dieser Seite: SWT Button Action : ButtonSWT JFace EclipseJava
Habe auch versucht den Code von
an mein Code anzupassen, aber es tut sich nix.
Habe ein kleines Beispiel gemacht, damit ich es verdeutlichen kann (habe bewusst, die Tabelleneigenschaften wie größe, breite, position etc weggelassen).
Gegeben ist eine leere Tabelle, ein Textfeld und ein OK-Button. Wenn ich in das Textfeld etwas eingebe und auf OK drücke,
so soll dieser Wert/String in die Tabelle/Spalte eingetragen werden.
Für den unteren Code hatte ich mir das so vorgestellt.
Was kann ich da machen bzw. was muss ich mir dafür angucken?
Vielen Dank
kenne mich mit SWT nicht so sehr aus, vor allem mit den EventListener.
Ich habe eine Tabelle, deren Einträge ich aus vorhandenen Daten hole und in der Tabelle anzeige.
Nun sollen nachträglich auch bestimmte Werte in die Tabelle eingetragen werden, die in ein TextFeld eingegeben werden
und per OK-Button in die entsprechende stelle in der Tabelle gespeichert werden sollen.
Das ganze Problem besteht darin, das ich nicht weiss welches EventListener ich mir anschauen soll.
Habe im Google nach Stichwörtern wie "Text speichern Button swt event " geschaut und bin solche Codebeispiele gelangt,
wie auf dieser Seite: SWT Button Action : ButtonSWT JFace EclipseJava
Habe auch versucht den Code von
Java:
Listener listener ..... okButton.addListener(SWT.Selection, listener);
Habe ein kleines Beispiel gemacht, damit ich es verdeutlichen kann (habe bewusst, die Tabelleneigenschaften wie größe, breite, position etc weggelassen).
Gegeben ist eine leere Tabelle, ein Textfeld und ein OK-Button. Wenn ich in das Textfeld etwas eingebe und auf OK drücke,
so soll dieser Wert/String in die Tabelle/Spalte eingetragen werden.
Für den unteren Code hatte ich mir das so vorgestellt.
Java:
if(button1 wurde gedrückt) {
String temp = text1.getText();
name.setText(temp);
}
Java:
public class Test extends org.eclipse.swt.widgets.Composite {
private Table table1;
private TableColumn name;
private Text text1;
private Button button1;
public static void main(String[] args) {
showGUI();
}
protected void checkSubclass() {
}
public static void showGUI() {
Display display = Display.getDefault();
Shell shell = new Shell(display);
Test inst = new Test(shell, SWT.NULL);
Point size = inst.getSize();
shell.setLayout(new FillLayout());
shell.layout();
if(size.x == 0 && size.y == 0) {
inst.pack();
shell.pack();
} else {
Rectangle shellBounds = shell.computeTrim(0, 0, size.x, size.y);
shell.setSize(shellBounds.width, shellBounds.height);
}
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
public Test(org.eclipse.swt.widgets.Composite parent, int style) {
super(parent, style);
initGUI();
}
private void initGUI() {
try {
FormLayout thisLayout = new FormLayout();
this.setLayout(thisLayout);
{
text1 = new Text(this, SWT.MULTI | SWT.WRAP);
text1.setLayoutData(text1LData);
}
{
button1 = new Button(this, SWT.PUSH | SWT.CENTER);
button1.setText("OK");
}
{
table1 = new Table(this, SWT.NONE);
table1.setHeaderVisible(true);
{
name = new TableColumn(table1, SWT.NONE);
name.setText("Name");
name.setWidth(60);
}
}
this.layout();
pack();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Was kann ich da machen bzw. was muss ich mir dafür angucken?
Vielen Dank