Mit Button neue Klasse öffnen

kakulala

Mitglied
Hallo Leute,
ich habe folgendes Problem gerade. Ich habe/möchte ein Programm schreiben, das durch das drücken eines Buttons eine andere Klasse öffnet.
Also ich habe eine funktionierende GUI. Einen Container mit links je zwei Button. Durch Drücken des Buttons soll nun nicht nur ein Text angezeigt werden im Container, sondern sich zusätlich noch eine Mail versenden lassen. Separat funktioniert das Email versenden schonmal & auch das Drücken des Buttons lässt den gewünschten Text erscheinen. Doch wo genau, muss ich denn jetzt ein Objekt meiner Klasse Mail anlegen dass durch das Drücken des ersten Buttons auch auf die Klasse Mail zugegriffen wird?

Hoffe ihr könnt mir helfen....oder ich steh einfach nur total auf dem Schlauch :)

Grüße
 

kakulala

Mitglied
Ich habe folgende Klassen:
  • main (mit ihr wird nur gestartet & sie ruft mainGUI auf
  • mainGUI
  • leftPanel
  • mainPanel
  • gridBagLayout (hier wird nur gui definiert bzw. Ausgabe)
  • email (hier soll Email versendet werden) funktioniert auch ohne Probleme

Jetzt möchte ich dass eine Email versendet wird im Hintergrund während im Container ein netter Text ausgegeben wird.
Wo muss ich denn die class Email noch einbinden?
 

kakulala

Mitglied
class mainGui:
Java:
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
public class leftPanel extends JPanel implements ActionListener {
    /**
     *
     */
    private static final long serialVersionUID = 4028727581415661088L;
    private JButton Schritt1;
    private JButton Schritt2;
    private mainGui parent;
    public leftPanel(mainGui parent) {
        this.parent = parent;
        GridBagLayout gbl = new GridBagLayout();
        Container container = this;
        // Buttons über welche das MainPanel gesteuert werden
        Schritt1 = new JButton("Schritt 1");
        Schritt2 = new JButton("Schritt 2");
     
        Schritt1.setActionCommand("Schritt_1");
        Schritt1.addActionListener(this);
        Schritt2.setActionCommand("Schritt_2");
        Schritt2.addActionListener(this);
        gridBagLayoutHelper.addComponentPadding(container, gbl, Schritt1, 0, 0, 1, 1, 1, 1);
        gridBagLayoutHelper.addComponentPadding(container, gbl, Schritt2, 0, 1, 1, 1, 1, 1);
     
        this.setLayout(gbl);
    }

    @Override
    public void actionPerformed(ActionEvent event) {
        if (event.getActionCommand().equals("Schritt_1")) {
            CardLayout cl = (CardLayout) (parent.jpMain.getLayout());
            cl.show(parent.jpMain, parent.SCHRITT1);
        } else if (event.getActionCommand().equals("Schritt_2")) {
            CardLayout cl = (CardLayout) (parent.jpMain.getLayout());
            cl.show(parent.jpMain, parent.SCHRITT2);
        }
    }
}



class leftPanel:

Java:
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class mainGui extends JFrame {
    /**
     *
     */
    private static final long serialVersionUID = 5257812626494937069L;
 
 
    final protected String WELCOME = "Begrüßung";
    final protected String SCHRITT1 = "Email";
    final protected String SCHRITT2 = "Weiteres";
    final protected String SENDEN = "Sendung";
 
    //initialisierung der beiden Panels
    protected leftPanel jpLeft = new leftPanel(this);
    protected mainPanel jpMain = new mainPanel(this);
    public mainGui() {
    
        GridBagLayout gbl = new GridBagLayout();
    
   
        Container container = this.getContentPane();
    
    

        gridBagLayoutHelper.addComponent(container, gbl, jpLeft, 0, 0, 1, 1, 0.2, 1);
        gridBagLayoutHelper.addComponent(container, gbl, jpMain, 1, 0, 1, 1, 0.8, 1);
    
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        //Dem JFrame wird das GridBagLayout übergeben
        this.setLayout(gbl);
    
        //Auslesen Der Bildschirmgröße
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    

        d = new Dimension(d.width/2,d.height/2);
        this.setSize(d);
    

        this.setLocationRelativeTo(null);
    
        this.setTitle("Test");
    

        this.setVisible(true);
    }
 
}
 
Zuletzt bearbeitet:

kakulala

Mitglied
mainPanel

Java:
import java.awt.CardLayout;
public class mainPanel extends JPanel{

    private static final long serialVersionUID = 3250453526650826616L;
    private mainGui parent;
    public mainPanel(mainGui parent){
        this.parent = parent;
        this.setLayout(new CardLayout());
     
        JPanel card1 = new JPanel();
        card1.add(new JLabel("Hallo"));
       
     

        JPanel card2 = new JPanel();
        card2.add(new JLabel("Ihre Email wird nun gesendet"));
       

        JPanel card3 = new JPanel();
        card3.add(new JLabel("Hier folgt nun bald Schritt 3"));
    
        this.add(card1, parent.WELCOME);
        this.add(card2, parent.SCHRITT1);
        this.add(card3, parent.SCHRITT2);
 
      
      
    }
}
 
Zuletzt bearbeitet:

kakulala

Mitglied
Java:
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.PasswordAuthentication;



public class email{
   
   
    public static void main (String[] args){



final String username = "neueEmailadresse@gmail.com";
final String password = "password";

Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.host", "smtp.gmail.com"); //Smtp server adresse
props.put("mail.smtp.port", "587"); //Port des Smtp servers

Session session = Session.getInstance(props,
        new javax.mail.Authenticator(){
           
            protected PasswordAuthentication getPasswordAuthentication(){
                return new PasswordAuthentication(username,password);
            }
           
        });
       
        try {
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress ("test@net.de"));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("beispiel@net..de")); 
            message.setSubject("TEST123"); 
            message.setContent("<h:body style=background-colo:white;font-family:verdana;color:#0066cc;>"
                    + "Hallo, es funktioniert<b/><b/>"
                    + "</body>", "text/html; charset=utf-8"); //Inhalt der Email
            Transport.send(message);
           
            System.out.println("Ihre Email wurde versendet");
       
        } catch (MessagingException e){
            throw new RuntimeException(e);
        }

    }
}
 

JStein52

Top Contributor
In deinem actionPerformed erzeugst du ein email-Objekt. Und da ist noch eine main-Methode drin, du hast aber geschrieben da gibt es eine eigen Klasse dafür. Ist wahrscheinlich zum Testen des E-Mail Versandes oder ?
 

kakulala

Mitglied
Ahh ja, funktioniert super - Vielen Dank! Wollte es irgendwie direkt über die Main machen, aber hat nicht funktioniert....& die main-Methode in der Email-klasse, war zum Testen da^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
N Apache POI/ neue Reihe in Excel mit einem Button Allgemeine Java-Themen 2
B Wie erstelle ich dazu eine Abfrage ob der Button gedrückt wurde? Allgemeine Java-Themen 8
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
N Value Wert aus HTML-Button mittels thymeleaf spring an java übergeben Allgemeine Java-Themen 2
S Swing Speichern nach Button-Klick Allgemeine Java-Themen 5
E Problem mit Gridlayout und Button Allgemeine Java-Themen 2
M itext - Button der Text in Zwischenablage stellt Allgemeine Java-Themen 0
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
M JavaFX Button mit mehreren Aktionen? Allgemeine Java-Themen 7
G Drop down Button Menü (Combobox) Allgemeine Java-Themen 7
E Swing Buttons auf knopfdruck(anderer Button) erstellen Allgemeine Java-Themen 6
4 Swing Durch klicken auf Button Labels einem Panel hinzufügen Allgemeine Java-Themen 4
C Auslesen auslösen über Button-Click Allgemeine Java-Themen 8
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
Tacofan Button nicht mehr anklickbar machen Allgemeine Java-Themen 8
L Nach Button drücken den Text festspeichern Allgemeine Java-Themen 9
J Java eigenen Button programmieren (ob Cursor im Rechteck ist oder nicht..../button pressed or not) Allgemeine Java-Themen 6
F Klassen Klasse bei Button klick öffnen Allgemeine Java-Themen 11
J JScrollPane und Button erscheinen nicht Allgemeine Java-Themen 13
L Label- & Textfelderzeugung durch Button Allgemeine Java-Themen 1
M for Schleife mit Swing Button abbrechen Allgemeine Java-Themen 7
B Button im Web klicken Allgemeine Java-Themen 4
C Java Excel Button Allgemeine Java-Themen 2
J Swing Eigenes Button-design Allgemeine Java-Themen 2
H WAV abspielen nach Button-Klick Allgemeine Java-Themen 4
G Button-Registrierung beim ActionListener erst NACH Tastendruck Allgemeine Java-Themen 2
M JavaFX-Gegenstück zu Swing-Button-DoClick-Methode Allgemeine Java-Themen 5
A Button drücken Allgemeine Java-Themen 3
S Thread anhalten per Button ? Allgemeine Java-Themen 3
D Dialog soll sich beim Klick auf Button schließen Allgemeine Java-Themen 8
M HTTP Selenium button klicken Allgemeine Java-Themen 2
K GUI-Button Inhalte vergleich - TicTacToe Grundriss Allgemeine Java-Themen 11
X Button während Thread aktiv ist disablen Allgemeine Java-Themen 11
C Button geben Fehlermeldung aus Allgemeine Java-Themen 5
R Klasse über Button Event in anderer Klasse informieren Allgemeine Java-Themen 11
R [Android]Wie dynamischen Button-Feld erstellen? Allgemeine Java-Themen 3
F WebBrowser Button automatisch drücken Allgemeine Java-Themen 5
L mit Button jar.Datei öffnen? Allgemeine Java-Themen 5
1 URL mit Button öffnen Allgemeine Java-Themen 29
L Thread stoppen über Button funktioniert nicht Allgemeine Java-Themen 7
ModellbahnerTT Button mit Zahlen beschriften Allgemeine Java-Themen 1
E JTidy html "hidden" Button drücken Allgemeine Java-Themen 7
G Button-Array überschreiben und dem Container zufügen? Allgemeine Java-Themen 2
G Icon auf Button Allgemeine Java-Themen 5
N Button Allgemeine Java-Themen 3
G Schleife durch Button beenden Allgemeine Java-Themen 6
G wenn Button geklickt -> regelmäßig Aktion ausführen Allgemeine Java-Themen 7
G default button für enter taste Allgemeine Java-Themen 3
T JTabbedPane nach Button-Klick wechseln Allgemeine Java-Themen 3
E Button disablen Allgemeine Java-Themen 8
T Button Array verschieben klappt nicht. Allgemeine Java-Themen 6
T Button Action Allgemeine Java-Themen 10
G swt button Allgemeine Java-Themen 6
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
P Button automatisch drücken Allgemeine Java-Themen 5
M bei Klick auf Button Datei einlesen Allgemeine Java-Themen 3
E Button mit 2zeiliger Beschriftung Allgemeine Java-Themen 3
ElViZ HTML-Button mit Java "drücken" lassen? Allgemeine Java-Themen 3
MQue Button setEnabled() Allgemeine Java-Themen 2
MQue Konzept- Frage zum Button-Aktualisieren Allgemeine Java-Themen 5
MQue Button Attribute setzen Allgemeine Java-Themen 14
MQue Button ansprechen Allgemeine Java-Themen 5
MQue Button erzeugen mit 3 Klassen Allgemeine Java-Themen 3
MQue Button mit Icon und Beschriftung Allgemeine Java-Themen 7
MQue Button Event beim drücken und beim auslassen Allgemeine Java-Themen 7
P JComponenten (Button, JSlider, usw) erweitern Allgemeine Java-Themen 12
E Button: Event auslösen Allgemeine Java-Themen 7
E Mit Button ein Fenster öffnen Allgemeine Java-Themen 4
D Cast schlägt fehl : Object[] zu Button[] Allgemeine Java-Themen 2
P invoke per button Allgemeine Java-Themen 5
D Button-Sprache und windowClosing Allgemeine Java-Themen 6
G Text und Bild/Icon im Label/Button positionieren/ausrichten Allgemeine Java-Themen 2
A Wie mach ich, das mein Button schneller reagiert. Allgemeine Java-Themen 13
D Bild per Button painten Allgemeine Java-Themen 5
V Button schließen - NullPointerException Allgemeine Java-Themen 6
H Button ist nicht ansprechbar Allgemeine Java-Themen 4
S 100 Fehler bei Button machen :) Allgemeine Java-Themen 9
G Fenster durch eigenen Button minimieren Allgemeine Java-Themen 6
N neue Objektnamen durchlaufen Allgemeine Java-Themen 12
C Java11+ JavaFX HtmlEditor ContextMenu neue MenuItems hinzufügen Allgemeine Java-Themen 5
B Java Mail: Prüfung auf neue Emails Allgemeine Java-Themen 1
ralfb1105 Blöcke aus Datei filtern/suchen und in neue Datei schreiben Allgemeine Java-Themen 10
G Excel Tabelle lesen und in neue Excel Tabelle einfügen Allgemeine Java-Themen 11
E neue Lizenzpflicht Java Allgemeine Java-Themen 10
T ändern neue Java Versionen was an der Programmiersprache? Allgemeine Java-Themen 15
KeVoZ_ Nacheinander folgende Strings in Textdokument auf neue Zeile schreiben Allgemeine Java-Themen 6
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
K Einfaches Array in 2 neue aufteilen. Allgemeine Java-Themen 2
N Neue Software in Java 7 oder 8? Allgemeine Java-Themen 3
K Neue Elemente in JList einfügen Allgemeine Java-Themen 2
K Methode soll neue Buttons erstellen Allgemeine Java-Themen 5
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
W Vergleich eines Datenträgers auf neue Dateien Allgemeine Java-Themen 14
N Datenstrukturen an neue Klasse übergeben Allgemeine Java-Themen 16
M Neue Instanz/Kopie einer unbekannten Klasse Allgemeine Java-Themen 7
F Wie zur Laufzeit ganz neue Objekte erzeugen? Allgemeine Java-Themen 5
J Neue Wörter bilden Allgemeine Java-Themen 10
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben