Java Mail Programm

Menslo

Mitglied
Hallo zusammen,
ich lerne mir gerade ein wenig Java Kenntnisse zusammen und stehe nun vor einer Aufgabe, deren Lösung von mir nicht so funktioniert wie sie sollte und ich gerade den Fehler nicht erkenne :)
Ich möchte ein kleines Mail Programm in Java erstellen. Wenn ich auf eine Mail antworte oder sie weiterleite, soll der entsprechende Adressat(bei Antworten), der Betreff und der Text entsprechend angepasst werden.
Dafür rufe ich einen Konstruktor mit entsprechenden Werten auf, aber die Felder werden nicht angepasst. Es werden immer die Inhalte aus der InitGui() übernommen.
Ich teile anbei mal nicht den gesamten Code, sondern lediglich den Konstruktur, die initGui() und den Aufruf des Konstruktors - vllt findet da ja bereits jemand, woran der Fehler liegt?

Java:
    //der Konstruktor
    public Antwort(JFrame parent, boolean modal, String originalSender, String originalSubject, String originalContent) {
        super(parent, modal);
        setTitle("Neue Nachricht (Antwort)");
        //die Oberfläche erstellen
        initGui(originalSender, originalSubject, originalContent);

        //Standardoperation setzen
        //hier den Dialog ausblenden und löschen
        setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        
        // Den ursprünglichen Absender und Betreff verwenden
        empfaengerFeld.setText(originalSender);
        betreffFeld.setText("AW: " + originalSubject);

        // Den Inhalt der ursprünglichen Nachricht übernehmen und trennen
        inhaltFeld.setText("----- Text der ursprünglichen Nachricht ----\n" + originalContent);
    }

    private void initGui(String empfaenger, String betreff, String inhalt) {
        setLayout(new BorderLayout());
        JPanel oben = new JPanel();
        oben.setLayout(new GridLayout(0, 2));
        oben.add(new JLabel("Empfänger:"));
        empfaengerFeld = new JTextField(empfaenger);
        oben.add(empfaengerFeld);
        oben.add(new JLabel("Betreff:"));
        betreffFeld = new JTextField(betreff);
        oben.add(betreffFeld);
        add(oben, BorderLayout.NORTH);
        inhaltFeld = new JTextArea(inhalt);
        //den Zeilenumbruch aktivieren
        inhaltFeld.setLineWrap(true);
        inhaltFeld.setWrapStyleWord(true);
        //das Feld setzen wir in ein Scrollpane
        JScrollPane scroll = new JScrollPane(inhaltFeld);
        scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        add(scroll);

        JPanel unten = new JPanel();
        
        //die Schaltflächen
        ok = new JButton("Senden");
        ok.setActionCommand("senden");
        abbrechen = new JButton("Abbrechen");
        abbrechen.setActionCommand("abbrechen");

        NeuListener listener = new NeuListener();
        ok.addActionListener(listener);
        abbrechen.addActionListener(listener);

        unten.add(ok);
        unten.add(abbrechen);
        add(unten, BorderLayout.SOUTH);

        //anzeigen
        setSize(600, 300);
        setVisible(true);
    }

Hier wird der Konstruktor aufgerufen
Code:
//    Methodenaufruf Antwort
    private void antworten() {
//    Hier wird überprüft, ob eine Reihe ausgewählt ist
        int selectedRow = tabelle.getSelectedRow();
        if (selectedRow == -1) {
            JOptionPane.showMessageDialog(this, "Keine Nachricht ausgewählt.");
            return;
        }   
        String sender = tabelle.getModel().getValueAt(selectedRow, 1).toString();
        String betreff = tabelle.getModel().getValueAt(selectedRow, 2).toString();
        String inhalt = tabelle.getModel().getValueAt(selectedRow, 3).toString();
        
        new Antwort(this, true, sender, betreff, inhalt);
        
        tabelleAktualisieren();
    }
 

mihe7

Top Contributor
Das Problem dürfte darin bestehen, dass Du ein modales Dialogfenster erstellst und in initGui() anzeigst. Damit wird in Zeile 6 gewartet, bis das Dialogfenster geschlossen wurde. Abhilfe dürfte schaffen, dass Du das setVisible aus initGui() rausnimmst und an das Ende des Konstruktors schiebst.
 

Menslo

Mitglied
Oh, vielen Dank - das hat funktioniert!

Damit ich das richtig nachvollziehen kann: Indem in der initGui() das setVisible drin war, wurde das Standard Fenster angezeigt. Das war bislang kein Problem, da es ja nur das Standard Fenster gab. Dadurch, dass das Fenster nun bearbeitet wird (Anpassung Empfänger, Betreff, Text), wird durch setVisible im Konstruktor nun der Konstruktor angezeigt? So ganz habe ich glaube ich die Funktion von setVisible noch nicht verstanden.
 

mihe7

Top Contributor
Ja, setVisible zeigt das Fenster an. So lange Du die Methode nicht aufrufst, wird auch nix angezeigt. Bei modalen Dialogfenstern gibt es die Besonderheit, dass der Aufruf von setVisible erst endet, wenn das Dialogfenster wieder geschlossen wurde bzw. nicht mehr angezeigt wird. Erst dann werden die nachfolgenden Schritte ausgeführt.

Im alten Code hattest Du im Konstruktor einen Aufruf von initGui(), gefolgt von weiteren Codezeilen. Da in initGui() die Methode setVisible aufgerufen wurde (und es sich um ein modales Dialogfenster handelt), wurden diese weiteren Codezeilen erst ausgeführt, nachdem das Dialogfenster geschlossen wurde.

Daher einfach das modale Dialogfenster erst aufrufen, wenn alles initialisiert ist, was bei Dir am Ende des Konstruktors der Fall ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TimoN11 Mail Programm mit Java? Java Basics - Anfänger-Themen 1
I Java Mail Timeout erst nach rund 5 Minuten? Java Basics - Anfänger-Themen 9
I Java Mail (IMAP -> Empfangen) und Google Mail Java Basics - Anfänger-Themen 1
B Java Mail -> Mail senden, ist aber nich in IMAP unter "Gesendet" Java Basics - Anfänger-Themen 3
B Java Mail: suchen von mehreren Emailadressen Java Basics - Anfänger-Themen 5
B java.mail - Email antworten und Content ausgeben Java Basics - Anfänger-Themen 4
R Java E-mail versenden. SMTP Port Fehler Java Basics - Anfänger-Themen 8
F Mail empfangen mit JAVA Java Basics - Anfänger-Themen 3
S E-Mail über Java Java Basics - Anfänger-Themen 9
T Java-Mail API Java Basics - Anfänger-Themen 11
A Java Mail 1.4.4 - Email versenden (HOTMAIL SMTP auth) Java Basics - Anfänger-Themen 9
F Java Mail mit Anhang Java Basics - Anfänger-Themen 5
M Java Mail API Java Basics - Anfänger-Themen 7
F Anhang mi Java Mail Java Basics - Anfänger-Themen 13
F java mail api Java Basics - Anfänger-Themen 4
R JAVA Mail Java Basics - Anfänger-Themen 5
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben