tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
758
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Davtorik Davtorik ist offline Mitglied
    Registriert seit
    May 2006
    Beiträge
    21
    HI Community, ich hab ein problem mit JTables, ich bekomm einfach keine Werte angezeigt, weiß nicht, woran es liegt, könnt ihr mal den Code hier überfliegen?

    Hier mal die Klassen, die es u.a. betrifft
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    
    class JGesamtliste extends JPanel {
     
    /**
     * Erzeugt ein Objekt der Klasse neueEingabe
     */ 
        private NeueEingabe Eingabe =new NeueEingabe();
     
    /** 
     * Erzeugt ein neues Objekt der Klass EInkaufsliste
     */
        
        private Einkaufsliste EL =new Einkaufsliste();
    /**
     * 
     * Erzeugt ein Objekt der Klasse neueSuche
     */
        private NeueSuche Suche =new NeueSuche();
    /**
     * Erzeugt die Überschriften der Haupt-Tabelle
     */
        private final String[] header = {"Datum","Bewohner","Ort", "Betrag"};
        
    /**
     * Erzeugt ein neues JTable
     */ 
        private JTable table = new JTable();
    /**
     * Erzeugt einen Button zum Bearbeiten
     */
        private JButton bearbeiten=new JButton("Eintrag bearbeiten");
     
    /**
     * Erzeugt einen Button zum Löschen
     */
        private JButton loeschen =new JButton("Eintrag löschen");
    /**
     * Erzeugt ein neues DefaultTableModel
     */   
        private DefaultTableModel model =new DefaultTableModel(EL.getunsereEinkaufsliste(), header);
        JGesamtliste() {
       
            setBackground(Color.yellow);
            setBorder(new TitledBorder("Liste aller Einkäufe")); 
            setLayout(null);        
            table.setModel(model);
            bearbeiten.setBounds(570,60,160,30);
            bearbeiten.setMnemonic(KeyEvent.VK_E);
            loeschen.setBounds(570,100,160,30);
            loeschen.setMnemonic(KeyEvent.VK_C);
            JPanel orangeFrame=new JPanel();
            orangeFrame.setBackground(Color.orange);
            orangeFrame.setBounds(40,40,700,320);
            JScrollPane scroll=new JScrollPane(table);
            scroll.setPreferredSize(new Dimension(340,310));
     
            scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS );
            orangeFrame.add(scroll);
     
            add(bearbeiten);
            add(loeschen);
            add(orangeFrame);
            add(Suche);
            add(Eingabe);
            setVisible(true);
          
            
            
        }
    }
    :

    und
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    
     
    import java.io.*;
    import java.text.DateFormat;
    import java.util.*;
    /**Die Klasse Einkaufsliste stellt die Verwaltung einer WG-Einkaufsliste da, hier finden sich alle operativen Methoden
     * zur Ver- und Bearbeitung aller erfassten Einkäufe
     * 
     *@author David Stein
     *@version 4.beta 05.05.06 
     *   
     */
        public class Einkaufsliste {
    /**
     * ereugt einen Verctor, in dem Einkauf-Objekte gespeichert sind
     */
        public Vector<Einkauf> unsereEinkaufsliste=new Vector<Einkauf>();
    /**
     * legt den Speichernamen fest
     */
        private final String DATEINAME = "Einkaufsliste.dat";
    /**
     * Liefert flse, wenn etwqas mit der Aufnahme nicht geklappt hat
     */ 
        private boolean aufnahmeErfolgreich;
    /**
     * Speichert einen mit Einkaufs-Objekten gefüllten Vector auf der Festplatte.
     * @param unsereEinkaufsliste die vorliegende Eikaufsliste
     */ 
        private void speichereEinkaufsliste(Vector unsereEinkaufsliste){
            
        
                try {
                    File kartei = new File (DATEINAME);
                    FileOutputStream filestream = new FileOutputStream (kartei);
                    ObjectOutputStream out = new ObjectOutputStream (filestream);
                    
                    out.writeObject(unsereEinkaufsliste);
                    out.close();
                }
                catch (IOException e) {aufnahmeErfolgreich=false; }
                        
        }
     
        /**
         * Öffnet die vorligende Einkaufsliste um nach Einkäufen zu suchen.
         *
         */
     
         @SuppressWarnings("unchecked")
        private void oeffneEinkaufsliste(){
            try {
              FileInputStream file = new FileInputStream(DATEINAME);
              ObjectInputStream in = new ObjectInputStream( file );
              unsereEinkaufsliste=(Vector<Einkauf>)in.readObject();
              in.close();
            }
            catch (IOException e) { }
            catch ( ClassNotFoundException e ) {  }
     
     
         }
    /**
     * Liefert die GesamtBetrags-Liste
     * @return Die GesamtBetrags-Liste
     */ 
        public String[][] getGesamtBetragsListe(){
            for (int i=0; i<getBewohnerListe().size();i++){
                gesamtBetragsListe[i][0]=getBewohnerListe().elementAt(i);
                double addition=0;
                for (int j=0; j<getGesamtanzahl();j++){
                    if (unsereEinkaufsliste.elementAt(j).getBewohner().compareTo(getBewohnerListe().elementAt(i))==0){
                        gesamtBetragsListe[i][1]=String.valueOf(addition + Double.parseDouble(unsereEinkaufsliste.elementAt(i).getPreis()));
                    };
                }
            }
            return gesamtBetragsListe;
        };
         /**
          * Erstellt einen neuen Einkaufs-Eintrag in der Datenbank
          * @param neuerEinkauf Ein Einkauf-Objekt
          * @return aufnahmeErfolgreich Bestätigung, dass Einkauf aufgenommen wurden konnte.
          */
         public boolean neuerEinkauf(Einkauf neuerEinkauf){
            unsereEinkaufsliste.add(neuerEinkauf);
            speichereEinkaufsliste(unsereEinkaufsliste); 
            return aufnahmeErfolgreich;
         };
     
     
    /**
     * Liefert die Daten aller bekannten einkäufe als zweidimensionales Array
     * @return Zweidimensionales Array mit Einkauf-Werten (ohne Einkaufs-Nr.)
     */
         public String[][] getunsereEinkaufsliste(){
                GregorianCalendar datum;
                String[][] anzeigeArray =new String[getGesamtanzahl()][4];
                for (int i=0; i<getGesamtanzahl();i++){
                    DateFormat dateformat = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.GERMANY); 
                    datum = unsereEinkaufsliste.elementAt(i).getDatum(); 
                    String neuesDatum = dateformat.format(datum.getTime()); 
     
                    anzeigeArray[i][0]=neuesDatum;
                    anzeigeArray[i][1]=unsereEinkaufsliste.elementAt(i).getBewohner();
                    anzeigeArray[i][2]=unsereEinkaufsliste.elementAt(i).getOrt();
                    anzeigeArray[i][3]=unsereEinkaufsliste.elementAt(i).getPreis();
                }
                
                return anzeigeArray;
            }
    }




    Vielen Dank im Vorraus
    David
     

  2. #2
    flashray flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.325
    Hallo David,

    der Code ist aber ziemlich unvollständig. Wenn man schon eine Frage über einen fertigen "langen" Code hat, sollte er zumindest compilierbar, oder zumindest vollständig sein .


    Vg Erdal
     

  3. #3
    Davtorik Davtorik ist offline Mitglied
    Registriert seit
    May 2006
    Beiträge
    21
    Hmm, ich dachte es wäre eher ne zumutung alles zu posten...ich werd das komplette programm mal anhängen...


    lg david
    Angehängte Dateien Angehängte Dateien
     

  4. #4
    Avatar von teppi
    teppi teppi ist offline Mitglied Platin
    Registriert seit
    May 2004
    Ort
    Berlin
    Beiträge
    537
    Hallo !

    Probier mal:
    DefaultTableModel.fireTableDataChanged();

    evtl. auch:
    DefaultTableModel.fireTableStructureChanged();

    auszuführen, nachdem du die Daten dem TableModel hinzugefügt hast. Damit wird die Tabelle benachrichtigt, dass neue Daten vorliegen und sie wird neu gezeichnet.

    Gruß Stefan
     
    :-) möp

  5. #5
    Davtorik Davtorik ist offline Mitglied
    Registriert seit
    May 2006
    Beiträge
    21
    hat sich erledigt

    hab versehentlich unterschiedliche objekte einer klasse erzeugt, sowas das was ich angezeigt habimmer leer war
     

Ähnliche Themen

  1. ScrollPane bleibt leer
    Von dodlhuat im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 03.08.09, 19:48
  2. DataGridView bleibt leer?
    Von ParadiseCity im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 08.11.07, 13:28
  3. Formularemail bleibt leer
    Von schiwunja im Forum PHP
    Antworten: 6
    Letzter Beitrag: 27.10.07, 19:48
  4. Array ist und bleibt leer
    Von Braver Willy im Forum PHP
    Antworten: 5
    Letzter Beitrag: 17.07.07, 19:28
  5. JFrame bleibt leer
    Von kekrops im Forum Java
    Antworten: 3
    Letzter Beitrag: 12.10.05, 22:35