Hjælp til SWT GUI
Hej, jeg forsøger at lave en applikation, hvor der ved program start, kun skal vises "Login", efter login (hvis korrekt user/pass), skal der selvfølgelig vises noget andet i program vinduet.Jeg bruger Eclipse med Designer plug-in programmet.
Jeg lavede først en hovedGUI, hvori jeg satte en Composite, som jeg linkede til Login.class
Denne Login.class indeholde så Composite hvor der er lavet et par tekst felter til Bruger navn og Password samt en "Login" knap.
Problemet er så, at når jeg kører programmet, er vinduet tomt, og man kan ikke se Login muligheden. Jeg har prøvet frem og tilbage med forskellige ting, men kan bare ikke få vis Login.
HovedGUI vinduet:
################################################################
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import com.swtdesigner.SWTResourceManager;
public class GUI
{
protected Shell shell;
public static void main(String[] args) {
try {
GUI window = new GUI();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
public void open()
{
final Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
protected void createContents()
{
shell = new Shell();
shell.setImage(SWTResourceManager.getImage(GUI.class, "movie_icon.gif"));
shell.setSize(500, 375);
shell.setText("Login");
final Login login = new Login(shell, SWT.NONE);
login.setBounds(211, 129, 64, 64);
}
}
################################################################
Login vinduet:
################################################################
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
public class Login extends Composite
{
private Text text_1;
private Text text;
public Login(Composite parent, int style) {
super(parent, style);
setRedraw(true);
final Button loginButton = new Button(this, SWT.NONE);
loginButton.setText("Login");
loginButton.setBounds(354, 322, 48, 25);
text = new Text(this, SWT.BORDER);
text.setBounds(258, 106, 80, 25);
text_1 = new Text(this, SWT.BORDER);
text_1.setBounds(258, 137, 80, 25);
final Label brugerNavnLabel = new Label(this, SWT.NONE);
brugerNavnLabel.setText("Bruger navn:");
brugerNavnLabel.setBounds(180, 110, 74, 15);
final Label passwordLabel = new Label(this, SWT.NONE);
passwordLabel.setText("Password:");
passwordLabel.setBounds(195, 140, 60, 15);
}
public void dispose()
{
super.dispose();
}
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
}
################################################################
