ComboBox -> SQL -> ArrayList -> JTable?

Status
Nicht offen für weitere Antworten.
L

Louis2

Gast
Hallo,

folgendes. Ich habe ein Frame mit einer JComboBox und einer JTable. Wenn ich auf ein Wert der JComboBox klicke sollte eine SQL Abfrage durchgeführt werden, die Werte in eine ArrayList gespeichert werden (da ich die Anzahl an Zeilen aus der DB nicht kenne) und dann in die JTable eingelesen werden.

Meine Frage dazu:
1. Geht es überhaupt prinzipiell aus einer ArrayList Daten in eine JTable zu schreiben?
2. Es gibt Fehler von Zeile 90-100 und 111. Warum? Irgendwie kann er nicht richtig auf " java.util.List" oder "import java.sql.*;" zugreifen, liegt es daran, dass das ganze in eine "separate Prozedur" steht? (public void itemStateChanged(ItemEvent e) {)??
3. Ich mir sicher, dass es bei der Umsetzung einige Fehler gibt...
4. Ich möchte danach noch ein Button implementieren und beim drücken soll ein anderes Frame oder eine andere Klasse geladen werden, wie geht das?

Also wer Zeit hat kann gerne helfen :wink:

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel; 
import java.io.*;
import java.sql.*;

public class Combo
{
  public static void main(String args[])
  {
    String INIEmailFrom;
    String INIHost;
    BufferedReader b; 
    String line; 
    String[] tmp = null;
    int counter=0;
    String DBServer;
    String DBName;
    String DBUser;
    String DBPassword;
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    String comboinhalt[] = 
    {
        "Kundenaufträge", "lfd. Angebote", "Lieferscheine", "Rechnungen", "Historische Angebote",
        "Umsatzdaten", "Tool schliessen"
    };

    JComboBox combo = new JComboBox();
    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 connection = DriverManager.getConnection(url, DBUser, DBPassword);
        connection.setAutoCommit(true);
    }
    catch(ClassNotFoundException e1) 
    { 
        e1.printStackTrace(); 
    } 
    catch(Exception e2) 
    {    
        e2.printStackTrace(); 
    }
  

    for (int i = 0; i < comboinhalt.length; i++)
        combo.addItem(comboinhalt[i]);
        frame.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);
            if (selectedChoice.getSelectedItem().equals("Kundenaufträge"))
                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();
                
                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); 
                    
                    String[][] data = new String[][]
                    { 
                        {"outcustomerid", "outlist001", "outlist012", "outlist004", "outlist015", "outlist016", "outlist020"}, 
                    }; 
       
                    String[] title = new String[]
                    { 
                        "Auftragsnummer", "Kommissionsnummer", "Gedruckt am", "Umsatzwert", "WE", "Zustand" 
                    }; 
                    DefaultTableModel model = new DefaultTableModel (data, title); 
                    JTable table = new JTable(model);
                    frame.getContentPane().add( new JScrollPane( table ), BorderLayout.SOUTH );
                }
        }
    });
    frame.pack();
    frame.setVisible( true );
  }
}
 

mic_checker

Top Contributor
Hast du schon die FAQ Beiträge von Beni zum Thema JTable gelesen? Falls nicht solltest du das nachholen.

Ansonsten kann er deine HashMap nicht finden, weil du kein java.util importierst.

Du kannst ja dann noch java.util.List und java.util.ArrayList importieren , sieht schöner aus als jedes mal die komplette Bezeichnung zu verwenden.
 
L

Louis2

Gast
@mic_checker: Tutorial habe ich mir schon paar mal angeschaut und auch die Hilfe benutzt, trotzdem sehe ich nicht was ich im Moment bei der Darstellung falsch machen...

Das mit dem java.util.*; naja... easy *schäm*
Fehler treten immer noch in Zeile 91, 93 und 158.
Z.B Zeile 91 " Combo.java [91:1] not a statement
Statement auftrag = connection.createStatement();"
 

mic_checker

Top Contributor
Poste doch mal den aktuellen Code und markiere die Zeilen bei denen er meckert.

V.a. solltest du aber mal das Design des Progs überarbeiten...
 
L

Louis2

Gast
Hm am Design... ja aber die Frage ist, ob das Prog. mit meinem Code die JTable mit den Werten der SQL Abfrage richtig füllt (wenn "Kundenaufträge" in der ComboBox ausgewählt wurde).

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

public class Combo
{
  public static void main(String args[])
  {
    JComboBox combo = new JComboBox();
    String INIEmailFrom;
    String INIHost;
    BufferedReader b; 
    String line; 
    String[] tmp = null;
    int counter=0;
    String DBServer;
    String DBName;
    String DBUser;
    String DBPassword;
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible( true );
    frame.pack();
    
    String comboinhalt[] = 
    {
        "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 connection = DriverManager.getConnection(url, DBUser, DBPassword);
        connection.setAutoCommit(true);
    }
    catch(ClassNotFoundException e1) 
    { 
        e1.printStackTrace(); 
    } 
    catch(Exception e2) 
    {    
        e2.printStackTrace(); 
    }
  
    for (int i = 0; i < comboinhalt.length; i++)
        combo.addItem(comboinhalt[i]);
        frame.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);
            if (selectedChoice.getSelectedItem().equals("Kundenaufträge"))
                Statement auftrag = connection.createStatement();       <---------------- Fehler (not a Statement & ";" erforderlich) 
                resultauftrag = "SELECT customerid, AUF001, AUF012, AUF004, AUF015, AUF016, AUF020 FROM Auftrag WHERE customerid in (SELECT customerid FROM customer)"; 
                ResultSet rs = auftrag.executeQuery(resultauftrag);    <------ Fehler (wird wohl Probleme haben "import java.sql.*;" zu finden?)
                                
                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();
                
                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); 
                    
                    String[][] data = new String[][]
                    { 
                        {"outcustomerid", "outlist001", "outlist012", "outlist004", "outlist015", "outlist016", "outlist020"}, 
                    }; 
       
                    String[] title = new String[]
                    { 
                        "Auftragsnummer", "Kommissionsnummer", "Gedruckt am", "Umsatzwert", "WE", "Zustand" 
                    }; 
                    DefaultTableModel model = new DefaultTableModel (data, title); 
                    JTable table = new JTable(model);
                    frame.getContentPane().add( new JScrollPane( table ), BorderLayout.SOUTH );  <---------- Fehler (kann wohl "frame" nicht finden?)
                }
        }
    });
   
  }
}
 

mic_checker

Top Contributor
Er kennt die connection ja gar nicht, dann kann er auch nicht darauf zugreifen. Also außerhalb von try..catch deklarieren.
 
L

Louis2

Gast
mic_checker hat gesagt.:
Er kennt die connection ja gar nicht, dann kann er auch nicht darauf zugreifen. Also außerhalb von try..catch deklarieren.
Wie meinen genau?
Ich habe jetzt oben Connection connection; definiert aber der Fehler bleibt trotzdem. Ich glaube eher, dass das Prog. Probleme hat das "import java.sql.*;" irgendwie richtig zu benutzen, denn createStatement und executeQuery kommen ja von dem Import...

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

public class Combo 
{ 
  public static void main(String args[]) 
  { 
    JComboBox combo = new JComboBox(); 
    String INIEmailFrom; 
    String INIHost; 
    BufferedReader b; 
    String line; 
    String[] tmp = null; 
    int counter=0; 
    String DBServer; 
    String DBName; 
    String DBUser; 
    String DBPassword; 
    JFrame frame = new JFrame(); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible( true ); 
    frame.pack(); 
    Connection connection;   <----------------------------------- NEU
    
    String comboinhalt[] = 
    { 
        "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); <---------------------------GEÄNDERT
        connection.setAutoCommit(true); 
    } 
    catch(ClassNotFoundException e1) 
    { 
        e1.printStackTrace(); 
    } 
    catch(Exception e2) 
    {    
        e2.printStackTrace(); 
    }


Und wieso ganz unten beim .... ein Fehler kommt ist mir auch ein Rätsel...
Code:
frame.getContentPane().add( new JScrollPane( table ), BorderLayout.SOUTH );  <---------- Fehler (kann wohl "frame" nicht finden?)
 
L

Louis2

Gast
So nachdem ich um den IF-Teil eine Klammer gesetzt habe und final Connection connection; sowie final JFrame frame = new JFrame(); festgelegt habe, erscheinen die Fehlermeldungen nicht mehr sondern andere...
Nun erscheint als Fehlermeldung:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel; 
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.ArrayList;

public class Combo
{
  public static void main(String args[])
  {
    JComboBox combo = new JComboBox();
    String INIEmailFrom;
    String INIHost;
    BufferedReader b; 
    String line; 
    String[] tmp = null;
    int counter=0;
    String DBServer;
    String DBName;
    String DBUser;
    String DBPassword;
    final Connection connection;
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible( true );
    frame.pack();
    
    String comboinhalt[] = 
    {
        "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; <---------- DBServer&-Name nicht initialized
        connection = DriverManager.getConnection(url, DBUser, DBPassword); <---------- DBUser&-Password nicht initialized
        connection.setAutoCommit(true);
        
    }
    catch(ClassNotFoundException e1) 
    { 
        e1.printStackTrace(); 
    } 
    catch(Exception e2) 
    {    
        e2.printStackTrace(); 
    }
  
    for (int i = 0; i < comboinhalt.length; i++)
        combo.addItem(comboinhalt[i]);
        frame.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);
            if (selectedChoice.getSelectedItem().equals("Kundenaufträge"))
            {                   
                Statement auftrag = connection.createStatement(); <---------- connection nicht initialized / createStatement() must be caught or declared to be thrown
                   
                resultauftrag = "SELECT customerid, AUF001, AUF012, AUF004, AUF015, AUF016, AUF020 FROM Auftrag WHERE customerid in (SELECT customerid FROM customer)"; 
                ResultSet rs = auftrag.executeQuery(resultauftrag); <---------- must be caught or declared to be thrown
                                
                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()) <---------- must be caught or declared to be thrown
                { 
                    customerid.add(rs.getString(1)); <---------- must be caught or declared to be thrown (bis 7)
                    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();
                
                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); 
                    
                    String[][] data = new String[][]
                    { 
                        {"outcustomerid", "outlist001", "outlist012", "outlist004", "outlist015", "outlist016", "outlist020"}, 
                    }; 
       
                    String[] title = new String[]
                    { 
                        "Auftragsnummer", "Kommissionsnummer", "Gedruckt am", "Umsatzwert", "WE", "Zustand" 
                    }; 
                    DefaultTableModel model = new DefaultTableModel (data, title); 
                    JTable table = new JTable(model);
                    frame.getContentPane().add( new JScrollPane( table ), BorderLayout.SOUTH );
                }
            }
        }    
    });
   
  }
}
 

mic_checker

Top Contributor
wenn da steht .... exception musst be caught or thrown, dann mach entsprechend nen try...catch Block drum rum.

Code:
try {
...
} catch(....) {
...
}
 
L

Louis2

Gast
mic_checker hat gesagt.:
wenn da steht .... exception musst be caught or thrown, dann mach entsprechend nen try...catch Block drum rum.

Code:
try {
...
} catch(....) {
...
}

Erledigt. Und die Meldung mit "not initialized", was ja eigentlich wieder nicht stimmt? Hast Du da ein Vorschlag?
 

Wildcard

Top Contributor
noch was grundsätzliches:
main länger als 5 Zeilen -> kein OOP
Der Begriff "Methoden" sagt dir was? :wink:
 
L

Louis2

Gast
mic_checker hat gesagt.:
setz die anfangs entsprechend auf null.

vor dem schließen musst du dann nur gucken ob die != null sind.

Erledigt, jetzt bleibt nur noch (hoffentlich):
Combo.java [98:1] variable connection might not have been initialized
Statement auftrag = connection.createStatement();
^

Oben als final Connection connection; definiert... ???:L
 

mic_checker

Top Contributor
setz halt auf null und da wo nötig kontrollier ob != null.

Nur solltest du dir echt eine andere Art zu programmieren angewöhnen....du musst nicht alles in die main packen.
 
L

Louis2

Gast
So habe mal mein Code etwas besser dargestellt:

Jetzt kommen Fehler bzg. der main Klasse, also das "frame" kann nicht gelesen werden.
"non-static variable frame cannot be referenced from a static context"

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

public class Combo extends JFrame
{
    JComboBox combo = new JComboBox();
    String INIEmailFrom;
    String INIHost;
    BufferedReader b; 
    String line; 
    String[] tmp = null;
    int counter=0;
    String DBServer=null;
    String DBName=null;
    String DBUser=null;
    String DBPassword=null;
    final Connection connection;
    final JFrame frame = new JFrame();
    
    public Combo()
    {
        String comboinhalt[] = 
        {
            "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(); 
        }
        
        for (int i = 0; i < comboinhalt.length; i++)
            combo.addItem(comboinhalt[i]);
            frame.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);
                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();
                
                    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); 
                    
                        String[][] data = new String[][]
                        { 
                            {"outcustomerid", "outlist001", "outlist012", "outlist004", "outlist015", "outlist016", "outlist020"}, 
                        }; 
       
                        String[] title = new String[]
                        { 
                            "Auftragsnummer", "Kommissionsnummer", "Gedruckt am", "Umsatzwert", "WE", "Zustand" 
                        }; 
                        DefaultTableModel model = new DefaultTableModel (data, title); 
                        JTable table = new JTable(model);
                        frame.getContentPane().add( new JScrollPane( table ), BorderLayout.SOUTH );
                    }
                }
                catch(Exception e2) 
                {    
                    e2.printStackTrace(); 
                }
            }    
        });
    }    
    public static void main(String args[])
    {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible( true );
        frame.pack();
    }
}
 

mic_checker

Top Contributor
Das sind die Quittungen für den anfangs schlechten Entwurf ;)

Du kannst es ja so machen, dass du den Frame in main erzeugst, dann kannst du oben deinen final frame löschen und musst entsprechend im konstruktor noch ein paar zeilen anpassen....ist zwar mehr arbeit als es einfach static zu machen etc. aber man sollte static nicht verwenden nur um das prog schneller fertig zu kriegen...
 
L

Louis2

Gast
mic_checker hat gesagt.:
Das sind die Quittungen für den anfangs schlechten Entwurf ;)

Du kannst es ja so machen, dass du den Frame in main erzeugst, dann kannst du oben deinen final frame löschen und musst entsprechend im konstruktor noch ein paar zeilen anpassen....ist zwar mehr arbeit als es einfach static zu machen etc. aber man sollte static nicht verwenden nur um das prog schneller fertig zu kriegen...

ALso ich habe den Frame in der mail Klasse erzeugt, oben gelöscht, und das static entfernt.
So nun kommt die übliche Meldung " cannot resolve symbol" an 2 Stellen im Konstruktor, weil ja jetzt "frame" in der main Klasse deklariert ist. D.h ich muss irgendwie auf die main Klasse zugreifen, auch die Variable, könnte super() da helfen?
 

mic_checker

Top Contributor
lass es einfach weg....mach also einfach getContentPane().add(...)

bzw. ich habe mich eben wohl unklar ausgedrückt: Erzeuge in main ein neues Objekt von deiner Combo-Klasse, welche ja von JFrame abgeleitet ist.
 
L

Louis2

Gast
Nun können wir uns dem Kern des Programms wenden, also das Prog. startet es erscheint aber nur die JComboBox. Soweit i.O. So nachdem "Kundenaufträge" selektiert wurde, erscheint die JTable und nur mit 1 Zeile, und zwar die erste Zeile der DB-Tabelle. Nun brauche ich drumherum eine FOR-Schleife die alle Zeilen anzeigt der DB Tabelle bis es keine mehr gibt.

1. Brauche ich 2 Parameter x und y?
2. Wenn das Applet gestartet wird hat es die Grösse der JComboBox, und wenn die Tabelle dann angelegt wird, wird das Fenster nicht grösser, wie kriege ich das hin?

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

public class Combo extends JFrame
{
    JComboBox combo = new JComboBox();
    String INIEmailFrom;
    String INIHost;
    BufferedReader b; 
    String line; 
    String[] tmp = null;
    int counter=0;
    String DBServer=null;
    String DBName=null;
    String DBUser=null;
    String DBPassword=null;
    Connection connection;
    
    
    public Combo()
    {
        String comboinhalt[] = 
        {
            "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(); 
        }
        
        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();
                
                    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); 
                    
                        String[][] data = new String[][]
                        { 
                            {outcustomerid, outlist001, outlist012, outlist004, outlist015, outlist016, outlist020} 
                        }; 
       
                        String[] title = new String[]
                        { 
                            "Auftragsnummer", "Kommissionsnummer", "Gedruckt am", "Umsatzwert", "WE", "Zustand" 
                        }; 
                        DefaultTableModel model = new DefaultTableModel (data, title); 
                        JTable table = new JTable(model);
                        getContentPane().add( new JScrollPane( table ), BorderLayout.SOUTH );
                    }
                }
                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();
    }
}
 
L

Louis2

Gast
@mic_checker: Wenn eine Sache in der JComboBox ausgewählt wird, (sagen wir mal "Kundenaufträge" wie im Code), dann soll(en):
1. Die Daten mit Hilfe der SQL Abfrage von der DB Tabelle geholt werden
2. Letzendlich die DB Daten in die JTable eingefügt werden (habe erst AraryList benutzt da ich die Anzahl der Zeilen nicht kenne)
3. Die JTable mit Inhalt angezeigt werden.
--> Klappt auch gut, bzw. er holt sich die Daten aus der DB und fügt sie in die JTable ein, aber immer in der selben Zeile, also überschriebt sie immer und deshalb erscheint die letzte Zeile der DB dort immer, wie kann ich also eine Art Zeilenumbruch in der JTable machen?

4. Die Grösse des Applet soll angepasst werden wenn die JTable erscheint (grösser werden)
5. Kann man denn im Code was rausstreichen? Muss ich über eine ArrayList gehen?
 

mic_checker

Top Contributor
Bin ich blind oder warum redest du von einem Applet ?

Wenn du Reihen etc. hinzufügen willst kannst du addRow(..) vom DefaultTableModel aufrufen, aber das steht u.a. in beni's tut.
 
L

Louis2

Gast
Beni hatte u.a ein zweidimensionales Beispiel und die Daten wurden anhand von
String[][] data = new String[][]
{
{"a", "b", "c", "d"},
{"e", "f", "g", "h"},
{"i", "j", "k", "l"}
};

Es sollte doch eigentlich gehen, dass meine Anweisung
String[][] data = new String[][]
{
{outcustomerid, outlist001, outlist012, outlist004, outlist015, outlist016, outlist020}
};

solange durchgeführt wird, wie es Zeilen in der DB Tabelle gibt oder geht das nicht so und ich muss es mit addRow() lösen?
 

mic_checker

Top Contributor
Was ist mit den andern Punkten ? Sonst noch was nicht so wie es sein sollte ?

Falls alles korrekt funzt , kannst du ja noch deinen endgültigen Source posten, für Leute mit ähnlichen Problemen.
 
L

Louis2

Gast
Offene Punkte:
- Grösse des Fensters bestimmen, bzw. fixieren
(Wird es dann trotzdem automatisch grösser falls mehr Zeilen eingefügt werden?)
- Was kann man im Code rausstreichen oder schöner darstellen?
(Warst ja nicht so zufrieden :))
 
L

Louis2

Gast
Das Problem mit der Fenstergrösse habe ich immer noch nicht gelöst bekommen, seltsam, das Fenster kann ich gar nicht grösser machen mit setSize(...) ???:L

Wenn ich das pack() weglassen kann ich die Grösse des Fensters bestimmen, aber es erscheint im Frame nichts mehr???

Mein Code mit Änderungen:
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 mail = 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) 
        { 
            SammelMail message = new SammelMail(); 
            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]); 
                    //message.append(yourValue + "\n");
                    
                }
            }
            mail.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) {
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Drop down Button Menü (Combobox) Allgemeine Java-Themen 7
M javafx ComboBox- Nullpointer Exception Allgemeine Java-Themen 6
O 2 Combobox in Abhängigkeit von der 1 Combobox (Datenbank) Allgemeine Java-Themen 1
S Array in Combobox ausnutzen??? Allgemeine Java-Themen 5
G Combobox füllen mit daten aus einer Tabelle Allgemeine Java-Themen 4
O MVC - wo Liste der ComboBox-Items ermitteln Allgemeine Java-Themen 3
A Java Verzeichnisse in Combobox Ausgeben JAVA Allgemeine Java-Themen 3
S ComboBox nimmt nur ein Item an Allgemeine Java-Themen 3
L List <Hauser> in Combobox einfügen Allgemeine Java-Themen 5
G ComboBox: Nur eine Art Klasse zulassen (Generics) Allgemeine Java-Themen 3
S Combobox --> liefer null? Allgemeine Java-Themen 3
G Combobox mit Zeitwerten Allgemeine Java-Themen 10
MQue Datum in ComboBox setzen Allgemeine Java-Themen 9
B ComboBox Allgemeine Java-Themen 4
D ComboBox definieren Allgemeine Java-Themen 2
M ArrayList oder LinkedList Allgemeine Java-Themen 10
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
B Type mismatch: cannot convert from Graph.Edge to ArrayList<Graph.Edge> Allgemeine Java-Themen 21
R ArrayList Allgemeine Java-Themen 4
G jToggleButton in Array/ArrayList Allgemeine Java-Themen 12
J ArrayList, ganze Zeilen löschen oder überspringen Allgemeine Java-Themen 4
L ArrayList sortieren Allgemeine Java-Themen 2
C ArrayList Problem Allgemeine Java-Themen 3
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
S Best Practices CopyConstrutor mit ArrayList Allgemeine Java-Themen 1
S ArrayList Design Allgemeine Java-Themen 4
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
H Elemente aus ArrayList in Array speichern Allgemeine Java-Themen 8
MiMa Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
X Output von ArrayList Allgemeine Java-Themen 3
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
H Arraylist mit anderer ArrayList überschreiben Allgemeine Java-Themen 17
MiMa ArrayList sortieren?? Allgemeine Java-Themen 5
Curtis_MC Pointer mit ArrayList vergleichen Allgemeine Java-Themen 6
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
F Arraylist vollständig abspeichern und laden Allgemeine Java-Themen 1
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
N Mehrdimensionale ArrayList mischen Allgemeine Java-Themen 10
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
MiMa Date aus einer ArrayList<Date> holen ?? Allgemeine Java-Themen 5
MiMa ArrayList Rückgabewerte aus einer Funktion Allgemeine Java-Themen 15
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
T Collections ArrayList Sortieren Allgemeine Java-Themen 4
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H ArrayList: Leere Elemente finden? Allgemeine Java-Themen 2
GreenTeaYT Verständnisprobleme zur Arraylist Allgemeine Java-Themen 1
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
K ArrayList sortieren Allgemeine Java-Themen 16
A Bestimmte Inhalte aus ArrayList 1 in ArrayList 2 kopieren Allgemeine Java-Themen 6
S Mehrdimensionales ArrayList ins HashSet Allgemeine Java-Themen 10
C ArrayList Allgemeine Java-Themen 8
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
K Array in ArrayList Allgemeine Java-Themen 16
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
Paul15 Arraylist 2D Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
Neumi5694 Datentypen ArrayList vs TreeMap Allgemeine Java-Themen 6
F ArrayList Allgemeine Java-Themen 11
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
N ArrayList in eigenem Object nicht richtig serialisierbar Allgemeine Java-Themen 14
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
Z Elemente einer ArrayList von rechts wegnehmen Allgemeine Java-Themen 5
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
R ArrayList und HashMap Allgemeine Java-Themen 7
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
Doopy ArrayList plötzlich leer Allgemeine Java-Themen 2
D Arraylist eigener Klasse an iReport übergeben Allgemeine Java-Themen 7
L ArrayList Inhaltstyp. Allgemeine Java-Themen 5
Z Klassen ArrayList selbst machen Allgemeine Java-Themen 5
J Arraylist speichern und laden? Allgemeine Java-Themen 5
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
D ArrayList index auf gültigkeit prüfen Allgemeine Java-Themen 12
M ArrayList<String> Frage Allgemeine Java-Themen 7
O ArrayList kaputt?! Allgemeine Java-Themen 5
M ArrayList<Foo> in ein Foo[] konvertieren? Allgemeine Java-Themen 8
Bananabert Abstract ArrayList Allgemeine Java-Themen 4
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
O ArrayList - Serialisierungs-Problem Allgemeine Java-Themen 11
M JTable + ArrayList Allgemeine Java-Themen 3
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
O Collections ListIterator gibt Inhalt von ArrayList nicht aus Allgemeine Java-Themen 3
Madlip Variablen 3 Werte aus ArrayList und weiter ... Allgemeine Java-Themen 4
S arraylist nach n. Eintrag numerisch Sortiren Allgemeine Java-Themen 5
O Problem beim Auslesen einer Arraylist von JComboBoxen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben