Input Frame

Greg50007

Aktives Mitglied
Hallo Mal eine kurze Frage weil es spät ist und ich einfach nicht weiter komme...
Ich wollte eigentlich nur etwas abfragen und habe dazu ein joptionpane genommen. Nun wird es aber immer mehr Infos die dazu kommen, also habe ich erst ein eigenes Panel entworfen und in ein joptionpane integriert (sieht nur leider scheiße aus, weil ja die grafik des joptionpanes bleibt). Also hab ich mir überlegt, das ich das ja bestimmt auch selbst umsetzten kann...

Ich kann das frame anzeigen lassen (ist ja jetzt nicht schwer) aber wie kann ich denn die variablen erfragen? Bei einem optionpane kann ich ja z.b String s = new Joptionpane.inputDialog machen und erhalte den input in dem String. So ähnlich hätte ich es eigentlich auch gerne, zur Übersicht aber lieber so: String s1 = frame.getText1, String s2 = frame.getText2

Das ich dafür methoden schreiben kann weiß ich, Problem ist nur das wenn ich das frame erstelle und dann die variablen abfrage, diese noch leer sind. Ich müsste im frame also noch einen speichern Button haben und erst wenn dieser gedrückt wird, werden die Methoden in der Main abgefragt. Aber wie bekomme ich in der Main heraus ob der Button im frame gedrückt wurde? 🤔

LG.
Greg
 
den hab ich, aber ja in der Klasse in der auch das frame ist und noch hab ich keinen weg gefunden von der Main aus auf den actionlistener zuzugreifen...
 
Wenn sich die Methode die du aufrufen willst in einer anderen Klasse befindet brauchst du eine Instanz dieser Klasse in deiner
frame-Klasse.
 
sieht nur leider scheiße aus, weil ja die grafik des joptionpanes bleibt
Wenn Du das Icon meinst, brauchst Du nur JOptionPane.PLAIN_MESSAGE als messageType zu verwenden.
Ich müsste im frame also noch einen speichern Button haben und erst wenn dieser gedrückt wird, werden die Methoden in der Main abgefragt. Aber wie bekomme ich in der Main heraus ob der Button im frame gedrückt wurde? 🤔
Das hängt ganz davon ab, was Du haben willst.

Normalerweise ist es so, dass die GUI ereignisorientiert arbeitet. So wartet der Code normalerweise nicht darauf, dass z. B. ein JButton gedrückt wird, vielmehr informiert der JButton die registrierten Listener über das Ereignis.

Es gibt allerdings eine Ausnahme: modale (Dialog-)Fenster. Werden diese wie im Fall der JOptionPane.showXXX-Methoden angezeigt, wird der Code erst weiter ausgeführt, bis der Vorgang im modalen Fenster abgeschlossen ist, was in der Regel der Fall ist, wenn es geschlossen wurde.
 
Danke für die vielen Antworten, Jens sein Beitrag hat mich zum Ziel gebracht.
Java:
CustomInputPane cip = new CustomInputPane();

cip.setVisible(true);
cip.jButton1.addActionListener(new Actionlistener (){
   public void actionPerformed(Actionevent e){ System.out.println(cip.getEigegebenenText();
   }
}

Ich kann ja in meiner Main class auch einen actionlistener hinzufügen 😛 vielleicht nicht das eleganteste, aber fürs erste reicht's.

Mihe, mir geht's leider nicht nur um das Icon, ich fahre in diesem Projekt einen festes Farbschema und so hätte ich das Joptionpane leider nicht anpassen können...

Ich wünsche euch ein schönes Wochenende und danke nochmals 👍🏼
 

Neue Themen


Zurück
Oben