Swing JTable: Daten voreinstellen

Fl0r1an

Mitglied
Zur Zeit versuche ich eine Datenbank zum speichern von Passwörtern (meine eigenen) zu erstellen. Diese sollen in einem Manager angezeigt werden. Um dies so einfach wie möglich zu halten, versuche ich das mit einer JTable, und zwar der DefaultTable.
Nun komme ich nicht weiter:
Ich möchte, dass die Passwort-Daten voreingestellt sind, wie gelingt mir das?
Das ist meine Basis:

Java:
public class JTableDemoEigen
{
    public void fuehreAus()
    {
        // Die Namen der Spalten
        String[] titles = new String[]{ "Beschreibung", "Name", "Kennwort" };
        
        // Das Model das wir verwenden werden. Hier setzten wir gleich die
        // Titel, aber es ist später immer noch möglich weitere Spalten oder
        // Reihen hinzuzufügen.
        final DefaultTableModel model = new DefaultTableModel( titles, 0 );
        
        // Das JTable initialisieren
        JTable table = new JTable( model );
        
        // Buttons, damit das alles schöner aussieht.
        final JButton buttonAddRow = new JButton( "Reihe hinzufügen" );
        final JButton buttonRemRow = new JButton( "Reihe entfernen" );
        
        
        buttonRemRow.setEnabled( false );
        
        // Den Buttons ein paar Reaktionen geben
        buttonAddRow.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e) {
                // Die Anzahl Columns (Breite) der Tabelle
                int size = model.getColumnCount();
                
                // einen neuen Vector mit Daten herstellen
                Vector newDatas = createDataVector( "row", size );
                
                // eine neue Row hinzufügen
                model.addRow( newDatas );
                
                
                // das Entfernen erlauben
                buttonRemRow.setEnabled( true );
            }
        });
        
        buttonRemRow.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e) {
                int size = model.getRowCount();
                int index = (int)(Math.random() * size);
                model.removeRow( index );
                
                buttonRemRow.setEnabled( size > 1 );
            }
        });
        
        JFrame frame = new JFrame( "Tabelle | passwortManager version 1.0" );
        
        Container content = frame.getContentPane();
        
        content.add( new JScrollPane( table ), BorderLayout.CENTER );
        content.add( buttonAddRow, BorderLayout.NORTH );
        content.add( buttonRemRow, BorderLayout.SOUTH );
        
        
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible( true );
    }
    
    public static Vector createDataVector( String prefix, int size ){
        Vector vector = new Vector( size );
        for( int i = 0; i < size; i++ )
            vector.add( prefix + " : " + size + " : " + i );
        
        return vector;
    }
}

Ist natürlich noch nicht ganz fertig und muss überarbeitet werden, aber nun möchte ich wissen, wie man denn Daten bereits im Quelltext eintragen und vor allem speichern kann!?

Nicht wundern über das (villeicht) Kauderwelsch von Quelltext, bin noch in der Schule 😉

Vielen Dank schonmal im Vorraus!
 
Du musst die Daten aus der Datenbank laden... Passwörter im quellcode zu speichern is ein bischen seltsam, für was brauchst du denn die DB dann?
 
Datenbank?! Ich hätte das so verstanden, als wäre einfach nur nach

model.addRow(new Object[] { "Bla", "User", "12345" });

gefragt, Sicherheit hin oder her...
 
Also, ich denke Datenbank war die falsche Bezeichnung.
Vorerst möchte ich die Passwörter irgendwie speichern.
Später möchte ich dann mein Programm verbessern, mit Algorithmen zur Verschlüsselung und einer Datenbank die einfacher gestaltet ist. Würdet ihr empfehlen, das direkt über eine Datenbank zumachen (weniger Arbeit etc. ?).

Aber eigentlich wollte ich nur wissen, wie man in dieser Tabelle einen Wert von vornerein, also im Quelltext, einträgt. Mir fällt gerade auf, dass das villeicht nicht ganz so sinnvoll ist 😉

Was würdet ihr den empfehlen, wie ich die Daten speichern soll?
Ich möchte, dass die Daten verschlüsselt sind, bis man das Programm über einen Login Bildschirm (bereits programmiert) öffnet. Dann sollen sie entschlüsselt werden und als Klartext einfach auszulesen sein.

Wie immer, DANKE im Vorraus 🙂

P.S.: Geht das eigentlich auch, dass man Daten aus einem Text-Dokument ausliest?
 

Neue Themen


Zurück
Oben