Objekt in einem Frame wird im anderen benötigt

Status
Nicht offen für weitere Antworten.
L

Louis2

Gast
Hallo,

ich habe mir schonmal http://www.java-forum.org/de/viewtopic.php?t=15365 durchgelesen, komme aber immer noch nicht richtig klar.

Ich habe ein Frame1 und habe dort das Frame2 definiert mit SammelMail mail = new SammelMail(); (SammelMail Dateiname von Frame2).

Wenn ein Button von Frame1 gedrückt wird dann wird
Code:
public void actionPerformed(ActionEvent e) 
    {
        if (e.getSource() == sendButton) 
        { 
            mail.show(); 
            int[] selectedRows = table.getSelectedRows();
            int[] selectedColumns = table.getSelectedColumns();
            for (int x=0; x<=table.getRowCount()-1;x++)
            {
                for (int y=0; y<=selectedColumns.length-1;y++)
                {
                    Object yourValue = table.getModel().getValueAt(x, selectedColumns[y]); 
                    System.out.println(yourValue + "\n");
                }
            }
        } 
    }
ausgeführt. Also Frame2 wird visible sozusagen.
Im Frame2 gibt es eine JTextArea mit dem Namen "message".

Nun möchte ich, dass (was hier mit System.out.println(yourValue + "\n"); ausgegeben wird) in der JTextArea ausgegeben wird, also in der Art message.append(...) oder so. Wie kann ich aber das Objekt von Frame2 (message) in Frame1 benutzen, damit beim Knopfdruck es ausgeführt wird und die JTextArea gefüllt wird?
 
B

bygones

Gast
frame2 muss eine instanzvariable von Frame1 sein.

dann einfach per Methodenaufruf:
Code:
frame2.appendText("was auch immer");

appendText ist dann eine Methode in Frame1 die den übergebenen String in die TextArea schreibt
 
L

Louis2

Gast
deathbyaclown hat gesagt.:
frame2 muss eine instanzvariable von Frame1 sein.

dann einfach per Methodenaufruf:
Code:
frame2.appendText("was auch immer");

appendText ist dann eine Methode in Frame1 die den übergebenen String in die TextArea schreibt

Hmmm... d.h in Frame 1 sollte sowas wie:
Code:
Frame2 message = new Frame2(); 
message.appendtext(...);

stehen?
 
L

Louis2

Gast
Also ich verstehe es nicht richtig: ich habe 2 Klassen SammelMail und Combo In der SammelMail Klasse in die JTextArea.
Jetzt will ich ein Text aus der Combo Klasse in diese JTextArea der SammelMail Klasse ausgeben.

Was muss ich machen?

[EDIT]Hab mal was versucht, ist es so richtig? (Da wo // steht Änderung)
Die Daten erscheinen aber immer noch nicht in der JTextArea (message)??
SammelMail Klasse

Code:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
import java.sql.*;

public class SammelMail extends JFrame 
{
    public static final SammelMail main = new SammelMail(); // NEU
    //private JButton sendButton = new JButton("Send Messages");
    private JLabel fromLabel = new JLabel("From: ");
    private JLabel toLabel = new JLabel("To: ");
    private JLabel hostLabel = new JLabel("SMTP Server: ");
    private JLabel subjectLabel = new JLabel("Subject: ");
    private JTextField fromField = new JTextField(40);
    private JTextField toField = new JTextField(40);
    private JTextField hostField = new JTextField(40);
    private JTextField subjectField = new JTextField("Status Aufträge",40);
    private JTextArea message = new JTextArea(40,40);
    private JScrollPane jsp = new JScrollPane(message);
        
    String INIEmailFrom;
    String INIHost;
    BufferedReader b; 
    String line; 
    String Mailline;
    String[] tmp = null;
    int counter=0;
    String DBServer;
    String DBName;
    String DBUser;
    String DBPassword;
.......
.......
    message.setFont(new Font("Monospaced", Font.PLAIN,12));
    contentPane.add(jsp,BorderLayout.CENTER);
.......
.......
}
public void appendText(String text)  // NEU
{ 
    message.append(text);
}

Combo Klasse
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel; 
import javax.swing.table.TableColumnModel; 
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.ArrayList;

public class Combo extends JFrame implements WindowListener, ActionListener
{
    private JButton sendButton = new JButton("Send Messages");
    SammelMail main = new SammelMail();
    JComboBox combo = new JComboBox();
    JTable table = new JTable();
    String INIEmailFrom;
    String INIHost;
    BufferedReader b; 
    String line; 
    String[] tmp = null;
    int counter=0;
    String DBServer;
    String DBName;
    String DBUser;
    String DBPassword;
    Connection connection;
        
    public Combo()
    {
        super("Java email client");
        
        Container contentPane = this.getContentPane();
        contentPane.setLayout(new BorderLayout());
        
        JPanel button = new JPanel();
        button.setLayout(new FlowLayout(FlowLayout.LEFT));
        button.add(sendButton);
        contentPane.add(button);
        sendButton.setEnabled(false);
        sendButton.addActionListener(this);
        
        String comboinhalt[] = 
        {
            "Wählen Sie bitte eine Auftragsart", "Kundenaufträge", "lfd. Angebote", "Lieferscheine", "Rechnungen", "Historische Angebote", "Umsatzdaten", "Tool schliessen"
        };
        
        try 
        { 
            File Data = new File("C:/Dokumente und Einstellungen/Lempert/Desktop/Project/Data.ini"); 
            b = new BufferedReader(new InputStreamReader(new FileInputStream(Data)));  
            while ((line = b.readLine()) != null) 
            { 
                tmp = line.split(": ");  
                if (counter==0)
                INIEmailFrom=tmp[1];
                else if (counter==1)
                INIHost=tmp[1]; 
                else if (counter==2)
                DBServer=tmp[1];
                else if (counter==3)
                DBName=tmp[1];
                else if (counter==4)
                DBUser=tmp[1];
                else if (counter==5)
                DBPassword=tmp[1];
                counter++;
            }     
                b.close(); 
        } 
        catch (IOException e) 
        { 
            System.out.println("Error during data reading"); 
        } 
        
        try 
        { 
            String resultauftrag=new String();
            Class.forName("oracle.jdbc.driver.OracleDriver"); 
            //DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
            String url = "jdbc:oracle:thin:@"+DBServer+":1521:"+DBName; 
            connection = DriverManager.getConnection(url, DBUser, DBPassword);
            connection.setAutoCommit(true);
        }
        catch(ClassNotFoundException e1) 
        { 
            e1.printStackTrace(); 
        } 
        catch(Exception e2) 
        {       
            e2.printStackTrace(); 
        }
        
        String[] title = new String[]
        { 
            "KundenID", "AuftragsNr.", "Komm.Nr.", "Gedruckt am", "Umsatzwert", "WE", "Zustand" 
        }; 
        final DefaultTableModel model = new DefaultTableModel (title,0); 
        table = new JTable(model)
        {
           public boolean isCellEditable(int rowIndex, int vColIndex) 
           {
               return false;
           }
        };
        getContentPane().add(new JScrollPane(table), BorderLayout.SOUTH );
                
        TableColumnModel columnModel = table.getColumnModel(); 
        columnModel.getColumn(0).setPreferredWidth(90); 
        columnModel.getColumn(1).setPreferredWidth(100); 
        columnModel.getColumn(2).setPreferredWidth(100); 
        columnModel.getColumn(3).setPreferredWidth(110); 
        columnModel.getColumn(4).setPreferredWidth(100); 
        columnModel.getColumn(5).setPreferredWidth(45); 
        columnModel.getColumn(6).setPreferredWidth(80); 
        
        table.getTableHeader().setReorderingAllowed(false);
        setResizable(false);

        table.setColumnSelectionAllowed(true);
        table.setRowSelectionAllowed(false);
                        
        for (int i = 0; i < comboinhalt.length; i++)
            combo.addItem(comboinhalt[i]);
            getContentPane().add(combo, BorderLayout.WEST);
            combo.addItemListener(new ItemListener() 
        {
            public void itemStateChanged(ItemEvent e) 
            {
                String resultauftrag=new String();
                
                JComboBox selectedChoice = (JComboBox)e.getSource();
                if (selectedChoice.getSelectedItem().equals("Tool schliessen"))
                System.exit(0);
                else if (selectedChoice.getSelectedItem().equals("Kundenaufträge"))
                try
                {
                    Statement auftrag = connection.createStatement(); 
                    resultauftrag = "SELECT customerid, AUF001, AUF012, AUF004, AUF015, AUF016, AUF020 FROM Auftrag WHERE customerid in (SELECT customerid FROM customer)"; 
                    ResultSet rs = auftrag.executeQuery(resultauftrag); 
                                
                    java.util.List customerid= new ArrayList();
                    java.util.List auf001 = new ArrayList(); 
                    java.util.List auf012 = new ArrayList();
                    java.util.List auf004 = new ArrayList(); 
                    java.util.List auf015 = new ArrayList();
                    java.util.List auf016 = new ArrayList(); 
                    java.util.List auf020 = new ArrayList();
            
                    while (rs.next()) 
                    { 
                        customerid.add(rs.getString(1));
                        auf001.add(rs.getString(2)); 
                        auf012.add(rs.getString(3)); 
                        auf004.add(rs.getString(4)); 
                        auf015.add(rs.getString(5));
                        auf016.add(rs.getString(6)); 
                        auf020.add(rs.getString(7));
                    } 
                    Map map = new HashMap(); 
                    map.put("CustomerID", customerid);
                    map.put("Auftragsnummer", auf001); 
                    map.put("Kommissionsnummer", auf012); 
                    map.put("Gedruckt am", auf004); 
                    map.put("Umsatzwert", auf015); 
                    map.put("WE", auf016); 
                    map.put("Zustand", auf020); 

                    java.util.List listcustomerid = (java.util.List) map.get("CustomerID"); 
                    java.util.List listauf001 = (java.util.List) map.get("Auftragsnummer"); 
                    java.util.List listauf012 = (java.util.List) map.get("Kommissionsnummer"); 
                    java.util.List listauf004 = (java.util.List) map.get("Gedruckt am"); 
                    java.util.List listauf015 = (java.util.List) map.get("Umsatzwert"); 
                    java.util.List listauf016 = (java.util.List) map.get("WE"); 
                    java.util.List listauf020 = (java.util.List) map.get("Zustand"); 
                    String outcustomerid;
                    String outlist001; 
                    String outlist012;
                    String outlist004;
                    String outlist015;
                    String outlist016;
                    String outlist020;
                    int len=listauf001.size();
                    int count=model.getRowCount();
                    for (int o=0;o<count;o++)
                    {
                        model.removeRow(0);
                    }
                    for (int n=0;n<len;n++) 
                    { 
                        outcustomerid = (String) listcustomerid.get(n);
                        outlist001 = (String) listauf001.get(n); 
                        outlist012 = (String) listauf012.get(n); 
                        outlist004 = (String) listauf004.get(n); 
                        outlist015 = (String) listauf015.get(n); 
                        outlist016 = (String) listauf016.get(n); 
                        outlist020 = (String) listauf020.get(n); 
                    
                        model.addRow(new String[] {outcustomerid, outlist001, outlist012, outlist004, outlist015, outlist016, outlist020}); 
                    }
                    sendButton.setEnabled(true);
                }
                catch(Exception e2) 
                {    
                    e2.printStackTrace(); 
                }
            }    
        });
    }    
    public static void main(String args[]) 
    {
        Combo frame = new Combo();
        frame.setDefaultCloseOperation(Combo.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.pack();
    }
    
    public void actionPerformed(ActionEvent e) 
    {
        if (e.getSource() == sendButton) 
        { 
            int[] selectedRows = table.getSelectedRows();
            int[] selectedColumns = table.getSelectedColumns();
                	    
            for (int x=0; x<=table.getRowCount()-1;x++)
            {
                for (int y=0; y<=selectedColumns.length-1;y++)
                {
                    Object yourValue = table.getModel().getValueAt(x, selectedColumns[y]); 
                    SammelMail.main.appendText(yourValue + "\n"); // NEU
                }
            }
            main.show(); 
        } 
    }
    public void windowClosing(WindowEvent e) 
    {
        System.exit(0); 
    }
    public void windowActivated(WindowEvent e) {
    }    
    public void windowClosed(WindowEvent e) {
    }
    public void windowDeactivated(WindowEvent e) {
    }
    public void windowDeiconified(WindowEvent e) {
    }
    public void windowIconified(WindowEvent e) {
    }
    public void windowOpened(WindowEvent e) {
    }
}
 
B

bygones

Gast
der zugriff scheint falsch zu sein:

Code:
SammelMail.main.appendText(yourValue + "\n"); // NEU

es gibt in SammelMail kein Feld namens main....

da main ein Feld von Combo ist und vom Typ Sammelmail reicht es dann

Code:
main.appendText(yourValue)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
SaftigMelo In einem Winkel Objekt bewegen Allgemeine Java-Themen 2
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
A Iterationen einer XML-Datei in einem Objekt sichern Allgemeine Java-Themen 5
A Objekt in einem Array erzeugen Allgemeine Java-Themen 6
N Wie einem Thread ein Objekt übergeben Allgemeine Java-Themen 9
K Listener einem Objekt hinzufügen Allgemeine Java-Themen 3
M einen Dump von einem Objekt sichtbar machen Allgemeine Java-Themen 4
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
T Objekt Array Aufgabe mit Busdatenbank Allgemeine Java-Themen 2
Maxi-JOO Klassen Dummy Objekt in anderen Constructor übergeben Allgemeine Java-Themen 5
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
A Objekt aus anderen Objekten machen Allgemeine Java-Themen 8
H Objekt speichern und laden Allgemeine Java-Themen 1
H Objekt speichern und laden Allgemeine Java-Themen 1
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
S Variable als Objekt Name Allgemeine Java-Themen 3
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
T Objekt in Array packen Allgemeine Java-Themen 6
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
S Neues Objekt darstellen Allgemeine Java-Themen 4
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
D Objekt-Suche mit mehreren optionalen Parametern Allgemeine Java-Themen 6
M Klassen Objekt weiter geben Allgemeine Java-Themen 1
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
S Applet Überprüfen ob ein Objekt angeklickt wurde Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
P Threads Objekt im Konstruktor anders wie im Run()-Block Allgemeine Java-Themen 10
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
K Textdatei als Objekt Allgemeine Java-Themen 4
Viktim Classenname zu Objekt Allgemeine Java-Themen 4
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
O Klassen Bruch im gleichen Objekt Speichern Allgemeine Java-Themen 1
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
K Best Practice JFrame Objekt allgemein zugänglich machen Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
S Interaktion mit einer website (website als Objekt?) Allgemeine Java-Themen 3
J OOP Überwachen, ob ein Objekt erzeugt wird Allgemeine Java-Themen 9
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
Developer_X Input/Output Serialisiertes Objekt speichern und laden Allgemeine Java-Themen 1
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
F Neues Objekt aus .CSV definition Allgemeine Java-Themen 3
K Methoden Objekt wird nicht erkannt Allgemeine Java-Themen 11
P Objekt mit verschiedenen Datentypen Allgemeine Java-Themen 5
T Objekt kontaktiert seinen "erzeuger" Allgemeine Java-Themen 5
S Objekt orientierte Programmierung Allgemeine Java-Themen 7
C Objekt Datenverlust nach Methodenaufruf Allgemeine Java-Themen 9
H JavaFX Von einer Methode auf stage-Objekt zugreifen Allgemeine Java-Themen 3
T WeakReference/PhantomReference: Mitbekommen WELCHES Objekt nun GC'ed wird Allgemeine Java-Themen 2
T Class-Objekt mit URLClassloader Allgemeine Java-Themen 7
P Konsoleneingabe übernehmen und Objekt instanzieren. Allgemeine Java-Themen 5
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
P Objekt Array in Datei Speichern Allgemeine Java-Themen 3
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
V Objekt löschen Allgemeine Java-Themen 7
A OOP Wie auf Objekt der Superklasse zugreifen? Allgemeine Java-Themen 6
S Datei in File-Objekt mit UTF-8 einlesen Allgemeine Java-Themen 2
M neues Objekt speichern, nicht Referenz Allgemeine Java-Themen 10
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
C Objekt Typ herausfinden Allgemeine Java-Themen 5
E Objekt beim Erzeugen in ArrayList Allgemeine Java-Themen 9
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
D Eigenen Objekt Pool Allgemeine Java-Themen 15
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8
T Objekt 2x deserialisieren, aber nur 1x im Heap haben? Allgemeine Java-Themen 4
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5
U Konstante in Objekt definieren Allgemeine Java-Themen 6
D this mit Objekt überschreiben Allgemeine Java-Themen 17
R Synchronized - auf welchem Objekt Allgemeine Java-Themen 16
E Objekt erstellen Allgemeine Java-Themen 7
M Timer von nicht existiertem Objekt stopen Allgemeine Java-Themen 5
M Swing-Frontend abhängig von ausgewähltem Objekt Allgemeine Java-Themen 4
J Lebt das Objekt noch?? Allgemeine Java-Themen 12
K Objekt einer konkreten Implementierung eines Interfaces durch übergebenen String Allgemeine Java-Themen 2
K Objekt-Austausch zwischen zwei Programmen über System-Clipboard Allgemeine Java-Themen 5
S Performance Frage: Objekt oder static? Allgemeine Java-Themen 33
B Speicherverbrauch Objekt-Referenz Allgemeine Java-Themen 11
D Browser-Objekt erzeugen Allgemeine Java-Themen 8
B FileWriter / FileReader testen / Mock-Objekt für Unit Tests? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben