String übergeben

Don_Beckmann

Mitglied
Ich möchte gerne mehrere Strings an eine andere Form übergeben.
Derzeit habe ich das bisher mit einem Benutzernamen hinbekommen. Beim Login wenn ich auf ok klicke übergibt er folgende Daten um den Benutzer zu füllen

Code:
if(rs.next()){
            Main c=new Main(txtusername.getText());
            c.start(txtusername.getText());
        }

In der neuen Form wird dann wie so üblich dies aufgeführt

Code:
public class Main extends javax.swing.JFrame {

    String benutzer="falsch";
   
    public Main(String benut) {
    setContentPane(new JLabel(new ImageIcon("C:\\Users\\René\\Desktop\\Zu verwenden\\main.png")));
    initComponents();
    label1.setText(benut);
    benutzer=benut;
  
   
}

das ganze klappt bis dahin. Nun möchte ich allerdings noch einen weiteren String übergeben der nicht in den label1 gehört sondern in den label2. Wie ist dies am besten durchzuführen ? Über jede Hilfe bin ich dankbar.
 
Da du eh einen Konstruktor aufrufst und somit ein frisches Objekt vor Augen hast, würde ich dafür einfach setter verwenden.
Code:
if(rs.next()){
            Main c=new Main();
            c.setLabel1Text(txtusername.getText());
            /* c.setLabel2Text(whatever.getText());
            c.start(txtusername.getText());
        }
 
Ich würde mit Trennung bin GUI und Daten anfangen.
Und dann die Strings (die sicher zusammen gehören?) in ein Objekt auslagern, dürfte das leichter machen
 
Da du eh einen Konstruktor aufrufst und somit ein frisches Objekt vor Augen hast, würde ich dafür einfach setter verwenden.
Code:
if(rs.next()){
            Main c=new Main();
            c.setLabel1Text(txtusername.getText());
            /* c.setLabel2Text(whatever.getText());
            c.start(txtusername.getText());
        }
Das ganze funktioniert leider nicht. Er kann das setLabel2Text nicht erkennen.

Ich würde mit Trennung bin GUI und Daten anfangen.
Und dann die Strings (die sicher zusammen gehören?) in ein Objekt auslagern, dürfte das leichter machen

Wie ist das ganze gemeint. Ich lese derzeit nur den benutzernamen aus label1 aus der dann auch wieder an die alte Form zurück gegeben wird. Es sollen insgesamt also 5 Dinge ausgelesen werden. Einmal der Benutzername und dann die IDs von 1-4 mit dem Text wofür ich extra eine Tabelle vorgegeben habe. (MySQL Datenbank)
 
Das ganze funktioniert leider nicht. Er kann das setLabel2Text nicht erkennen.
Und du hast keine Idee, warum er das nicht erkennt?


Wie ist das ganze gemeint. Ich lese derzeit nur den benutzernamen aus label1 aus der dann auch wieder an die alte Form zurück gegeben wird. Es sollen insgesamt also 5 Dinge ausgelesen werden. Einmal der Benutzername und dann die IDs von 1-4 mit dem Text wofür ich extra eine Tabelle vorgegeben habe. (MySQL Datenbank)
Was ist für dich eine "Form"?

Gemeint war: die fünf Dinge gehören doch sicher zusammen? Also kann man die in einer Klasse kapseln 😉
Außerdem mischt du GUI und Datenbank in einer Klasse, deutlich leichter ist es meist, das zu trennen.
 
Hallo,

ich habe derzeit ein Login System. Sobald alle Daten richtig sind die auch in der Datenbank vorhanden sind, übertrage ich den Benutzernamen wie folgt

Code:
kurs c=new kurs(label1.getText());
        c.setVisible(true);
        setVisible(false);

der Benutzername wird mir dann auch angezeigt. Sobald ich den Button drücke öffnet sich eine neue JFrame Form in der ich ein Textfield mit einer Datenbank Connection habe die dann die ids 1-4 abfragen soll sobald ich den Ok button geklickt habe. Bisher habe ich es nur für eine ID um mich dort näher ran zu tasten (die Abfrage funktioniert ohne Probleme). Allerdings soll dies nun auch im Richtigem Label angezeigt werden wo mein Problem liegt.

Um auf deine Frage zurückzukommen was für mich eine Form ist "JFrame Form".

Bei
Code:
c.setLabel2Text("Testwert");
kann er
Code:
setLabel2Text
nicht finden.
 

Zurück
Oben