tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
651
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    catarock catarock ist offline Mitglied
    Registriert seit
    Mar 2004
    Beiträge
    10
    Hallo,
    habe ein Problem, ich schreibe eine ganze Menge Daten, von double, ueber int bis hin zu Strings in einen OutPutStream, bzw FileStream. Nun meine Frage:
    Ich möchte den beim Speichern genutzten TreePath mitspeichern, sodass ich beim Laden des Streams wieder an dieser Stelle im Programm rauskomme. Kann mir jemand weiterhelfen? Vielen Dank im Vorraus
    Gruss Cata
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Was meinst du bitte mit "TreePath" ?
    Den Pfad im Verzeichnisbaum zu Zieldatei?
    Gruß Tom
     

  3. #3
    catarock catarock ist offline Mitglied
    Registriert seit
    Mar 2004
    Beiträge
    10
    genau,
    ich mach das so, "String Vergleichstring = tree.getSelectionPath().toString();"
    den Vergleich ich dann mit diversen Strings und je nachdem fuelle ich ein Panel mit unterschiedlichen Labels und Textareas. Jetzt moechte ich, das ich den Tree bzw. das Panel genau wie beim speichern herstellen kann.

    Ist ein Programm zur Mauerwerksbemessung ( Diplomarbeit Bauingenieurwesen ) deshalb begrenzte Java Kenntnisse, nur durch Selbststudium erlangt.

    Hoffe Du weisst jetzt was ich meine.
    Gruss Kata
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Dazu bietet sich die Serialisierung an ...
    Hierzu das Beispiel:

    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    
     
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
     
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.MutableTreeNode;
    import javax.swing.tree.TreeModel;
     
    /**
     * <p>
     * TODO This is what TreeExample does.
     * </p>
     * 
     * @author Darimont
     * @since 10.08.2004
     * @version $Rev:$
     */
    public class TreeExample extends JFrame {
     
       private JScrollPane scrollPane;
     
       private JTree jtree;
     
       private TreeModel model;
     
       private JButton btnLoad, btnStore;
     
       private JFileChooser chooser = new JFileChooser();
     
       public TreeExample() {
          super("TreeExample");
          setDefaultCloseOperation(EXIT_ON_CLOSE);
     
          model = new DefaultTreeModel(new DefaultMutableTreeNode("ROOT"));
          /*
           * Diese Methode hier nach dem Speichern des ersten Models auskommentieren.. danach
           * gespeichertes Model mit Load neu reinladen ...
           */
          appendChildren(model);
          jtree = new JTree(model);
          scrollPane = new JScrollPane(jtree);
     
          getContentPane().add(scrollPane, BorderLayout.CENTER);
     
          JPanel panel = new JPanel();
          ActionListener handler = new ActionHandler();
     
          btnLoad = new JButton("Load");
          btnLoad.addActionListener(handler);
     
          btnStore = new JButton("Store");
          btnStore.addActionListener(handler);
     
          panel.add(btnLoad, BorderLayout.NORTH);
          panel.add(btnStore, BorderLayout.SOUTH);
     
          getContentPane().add(panel, BorderLayout.SOUTH);
     
          pack();
          setVisible(true);
       }
     
       /**
        * @param model2
        */
       private void appendChildren(TreeModel mod) {
          MutableTreeNode root = (MutableTreeNode) mod.getRoot();
     
          for (int i = 0; i < 10; i++) {
             DefaultMutableTreeNode child = new DefaultMutableTreeNode("child" + i);
             root.insert(child, i);
          }
       }
     
       public static void main(String[] args) {
          new TreeExample();
       }
     
       class ActionHandler implements ActionListener {
     
          public void actionPerformed(ActionEvent e) {
             Object src = e.getSource();
             if (src == btnLoad) {
     
                int result = chooser.showOpenDialog(((JButton) btnLoad).getParent());
                if (result == JFileChooser.APPROVE_OPTION) {
                   File file = chooser.getSelectedFile();
                   try {
                      ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
                      Object o = ois.readObject();
                      model = (TreeModel) o;
                      jtree.setModel(model);
                      jtree.updateUI();
                   } catch (FileNotFoundException e1) {
                      e1.printStackTrace();
                   } catch (IOException e1) {
                      e1.printStackTrace();
                   } catch (ClassNotFoundException e2) {
                      e2.printStackTrace();
                   }
     
                }
             } else if (src == btnStore) { //store
     
                int result = chooser.showSaveDialog(((JButton) btnStore).getParent());
                if (result == JFileChooser.APPROVE_OPTION) {
                   File file = chooser.getSelectedFile();
                   ObjectOutputStream oos = null;
                   try {
                      oos = new ObjectOutputStream(new FileOutputStream(file));
                      oos.writeObject(model);
                      oos.flush();
                      oos.close();
                   } catch (FileNotFoundException e1) {
                      e1.printStackTrace();
                   } catch (IOException e1) {
                      e1.printStackTrace();
                   } finally {
                      if (oos != null) {
                         try {
                            oos.close();
                         } catch (IOException e2) {
                            e2.printStackTrace();
                         }
                      }
                   }
                }
     
             }
          }
       }
    }

    Gruß Tom
     

Ähnliche Themen

  1. In und Outputstream
    Von DerKoenig im Forum Java
    Antworten: 2
    Letzter Beitrag: 17.01.11, 17:23
  2. Antworten: 1
    Letzter Beitrag: 26.07.10, 16:28
  3. jtree - treepath
    Von drob im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 10.03.08, 11:56
  4. Outputstream zurückgeben
    Von mephisto22 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 09.10.07, 14:51
  5. OutputStream freigeben
    Von theindra im Forum Java
    Antworten: 2
    Letzter Beitrag: 08.06.05, 08:46