ich muss ein Tool schreiben das sehr viele Fenster besitzt und benutze daher den WindowBuilder mit Absolut Layout.
Das Tool soll auf Geräten laufen mit einer Bildschrimgröße von 1024x768.
Es tut mir im Voraus leid wenn ich etwas nicht gleich verstehe oder weiter hinterfragen muss, denn ich bin gerade dabei in das Programmieren von GUI´s einzusteigen.
Ich habe folgende Schwierigkeiten:
1. Wie kann ich mein Fenster dazu "zwingen" sich an die Bildschirmgröße anzupassen?
Habe bis jetzt nur diesen Code gefunden, der funktioniert aber nicht:
2. Ich habe wie schon gesagt mehrere verschieden ausehenende Fenster und für jedes Fenster eine Klasse und bei bestimmten Button sollen bestimmte Fenster aufgehen, doch gleichzeitig soll sich das andere wieder schließen. Sodass nur immer ein Fenster offen ist.
Meine Frage: Wie kann ich das deligieren?
3. Manche Button bei manchen Fenstern sollen sich grün einfärben wenn man sie anklick und wieder die normale Buttonfarbe bekommen wenn sie nochmals angeklickt werden, das ganze soll im Hintergrund mit grün = true und normale Buttonfarbe = false ablaufen.
Meine Frage: Funktioniert das mit einem actionPerformed und einer if-Bedingung?
Ich bedanke mich im Voraus für alle Antworten und entschuldige mich für meinen unfangreichen Schwierigkeiten.
Wenn der Code von mir benötigt wird gebt bescheid.
Zum Vollbild: setDecorated(false) must du noch aufrufen. Lass dir mal ausgeben, was getScreenSize zurückgibt.
Geht nicht ist keine Fehlerbeschreibung. Was genau passiert stattdessen?
Zum Delegieren: Guck dir mal Events an.
Zum Grünwerden: Was du suchst ist ein sog. ToggleButton.
Diablous ich bedanke mich rießig für den Code der hat mein Problem gelöst das mein Fenster sich an die Bildschirmgröße anpasst *-*!
Das Problem mit den mehreren Fenstern habe ich in den Grief bekommen mit:
Code:
startFrame.dispose();
ok ich habe mehrere Varianten ausprobiert aber irgendwie kann er das gespeicherte also das wenn es mal auf grün gesetzt wurde nicht behalten wenn ich das fenster wieder schließe in dem der Button ist.
Code:
public void mouseClicked(MouseEvent arg0) {
btnNewButton.setBackground(SystemColor.GREEN);
}
So sieht der Code ungefähr aus zu dem Button der bei mouseClick Grün wird doch bei einem erneuten wieder normal aber ich weis nicht wie ich das machen soll ein erneuter mouseClick funktioniert nicht.
Habe deine Idee angenommen und an mehreren Stellen ausprobiert und es ist so ein super Tipp doch jetzt bleibt der Button so oft wie man auch klick immer in der Anfangsfarbe.
Wenn dies das Standardverhalten von deinem ToggleButton sein soll, kannst du auch den UIManager verwenden:
Java:
importjava.awt.Color;importjavax.swing.JFrame;importjavax.swing.JToggleButton;importjavax.swing.UIManager;publicclassSwing{publicstaticvoidmain(String[] args){// Vor dem Start der Applikation setzen:UIManager.put("ToggleButton.select",Color.GREEN);UIManager.put("ToggleButton.background",Color.RED);newSwing();}publicSwing(){JFrame frame =newJFrame();
frame.getContentPane().add(newJToggleButton("test"));
frame.pack();
frame.setVisible(true);}}
Wenn mein Button grün ist und der Benutzer Fertig drückt wird der Text von dem Button in der anderen Maske gespeichert. Nun möchte ich das der Button schon grün ist wenn der Benutzer nochmals auf die Auswahl drückt den der Button ist ja schon ausgewählt.
Leider funktioniert mein Code dazu nicht ganz bitte um Tipps.
Code:
erprobungsButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
startFrame.dispose();
Erprobung window = new Erprobung();
if (textFeldErprobung.getText() != null){
window.accButton.setBackground(SystemColor.GREEN);
}
window.erprobungsFrame.setVisible(true);
}
});