Hallo allerseits
Aufgrund eines Schulprojekts habe ich mal mit SWT begonnen. Nun möchte ich eine kleine Beispielapplikation erstellen. Dabei handelt es sich um eine kleine Adressverwaltung. Nun habe ich einmal mit einem Bearbeitungs-GUI für die Adressen angefangen, hier der Code:
Ist noch nicht so schön, halt alles im Konstruktor... Aber es geht ja erstmals nur ums Prinzip. Offenbar habe ich mich für das GridLayout entschieden, dies ist IMHO der beste LayoutManager für diesen Zweck. Das Label wird natürlich automatisch auf die richtige Grösse gebracht, da es ja einen bestimmten Inhalt hat. Bei den Textfeldern ist das so ein Problem, da die am Anfang ja noch leer sind.
Nun bin ich fast am durchdrehen, wie ich diesen Textfeldern eine Grösse aufzwingen kann. Die setSize Methode hat irgendwie keinen Einfluss und setText(" ") ist natürlich totaler Schwachsinn.
Kann mir da jemand helfen?
Auf der SWT-Homepage bin ich bloss auf ein paar Codeschnippsel gestossen, die mit Buttons arbeiten.
Aufgrund eines Schulprojekts habe ich mal mit SWT begonnen. Nun möchte ich eine kleine Beispielapplikation erstellen. Dabei handelt es sich um eine kleine Adressverwaltung. Nun habe ich einmal mit einem Bearbeitungs-GUI für die Adressen angefangen, hier der Code:
Code:
package guis;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class FriendDetail
{
private Display display = null;
private Shell shell = null;
private Group groupData = null;
private GridLayout dataLayout = null;
private Label lblVorname = null;
private Text txtVorname = null;
private Label lblNachname = null;
private Text txtNachname = null;
public FriendDetail()
{
display = new Display();
shell = new Shell(display);
shell.setText("[Vorname] [Nachname] editieren");
groupData = new Group(shell, SWT.NONE);
groupData.setText("Daten");
dataLayout = new GridLayout();
dataLayout.numColumns = 4;
dataLayout.marginHeight = 5;
dataLayout.marginWidth = 5;
dataLayout.horizontalSpacing = 5;
dataLayout.verticalSpacing = 5;
groupData.setLayout(dataLayout);
lblVorname = new Label(groupData, SWT.NULL);
lblVorname.setText("Vorname");
txtVorname = new Text(groupData, SWT.SINGLE | SWT.BORDER);
lblNachname = new Label(groupData, SWT.NULL);
lblNachname.setText("Nachname");
txtNachname = new Text(groupData, SWT.SINGLE | SWT.BORDER);
groupData.pack();
shell.pack();
shell.setMinimumSize(shell.getSize());
shell.setVisible(true);
while(!shell.isDisposed())
{
if(!display.readAndDispatch())
display.sleep();
}
}
}
Ist noch nicht so schön, halt alles im Konstruktor... Aber es geht ja erstmals nur ums Prinzip. Offenbar habe ich mich für das GridLayout entschieden, dies ist IMHO der beste LayoutManager für diesen Zweck. Das Label wird natürlich automatisch auf die richtige Grösse gebracht, da es ja einen bestimmten Inhalt hat. Bei den Textfeldern ist das so ein Problem, da die am Anfang ja noch leer sind.
Nun bin ich fast am durchdrehen, wie ich diesen Textfeldern eine Grösse aufzwingen kann. Die setSize Methode hat irgendwie keinen Einfluss und setText(" ") ist natürlich totaler Schwachsinn.
Kann mir da jemand helfen?
Auf der SWT-Homepage bin ich bloss auf ein paar Codeschnippsel gestossen, die mit Buttons arbeiten.