Pobranie danych z Combobox do jTable

Pobranie danych z Combobox do jTable
M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

Witam,
mam następujący problem chce żeby w programie była możliwość pobrania danych z kilku comboboxów do komórek jTable po naciśnięciu przycisku. Użytkownik po wybraniu odpowiednich możliwości w combobox i naciśnięciu przycisku dodaj sprawi, że dane zostaną przeniesione do tabeli. I chciałbym dane zostały zapisane w tabeli. Gdzie popełniłem błąd?
Z góry dziękuje za odpowiedź

Kopiuj
package biblioteka;

public class biblioteka extends javax.swing.JFrame {

    DefaultTableModel model;
    public biblioteka() {
        initComponents();
        model=(DefaultTableModel)tImie.getModel();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jDialog1 = new javax.swing.JDialog();
        bAdd = new javax.swing.JButton();
        tImie = new javax.swing.JComboBox();
        tFrez = new javax.swing.JComboBox();
        tOstrze = new javax.swing.JComboBox();
        tEfektywna = new javax.swing.JComboBox();
        tCalkowita = new javax.swing.JComboBox();
        tMaterial = new javax.swing.JComboBox();
        label1 = new java.awt.Label();
        label3 = new java.awt.Label();
        label4 = new java.awt.Label();
        label5 = new java.awt.Label();
        label6 = new java.awt.Label();
        label7 = new java.awt.Label();
        jScrollPane2 = new javax.swing.JScrollPane();
        tblNarzedzia = new javax.swing.JTable();
        label2 = new java.awt.Label();
        tData = new java.awt.TextField();
        bEdit = new javax.swing.JButton();
        bDelete = new javax.swing.JButton();

        javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
        jDialog1.getContentPane().setLayout(jDialog1Layout);
        jDialog1Layout.setHorizontalGroup(
            jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        jDialog1Layout.setVerticalGroup(
            jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        bAdd.setLabel("Dodaj");
        bAdd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bAddActionPerformed(evt);
            }
        });

        tImie.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Marek", "Adam", "Patryk", "Łukasz", "Artur" }));
        tImie.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tImieActionPerformed(evt);
            }
        });

        tFrez.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "FR0,5", "FR0,6", "FR1", "FR2", "FR3", "FR4", "FR6", "FR8", "FR10", "FR0,4K", "FR0,6K", "FR1K", "FR2K", "FR3K", "FR4K", "FR6K", "FR8K", "FR2R0,05", "FR2R0,1", "FR2R0,2", "FR4R0,2", "FR6R0,2", "FR6R1", "FR8R0,2", "FR10R0,3", "FR10R0,5", "FR10R1", "FR12R0,3", "W0,81", "W1", "W1,1", "W1,3", "W1,5", "W3", "W3,3", "W4,2", "W5" }));
        tFrez.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tFrezActionPerformed(evt);
            }
        });

        tOstrze.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0,5", "1", "1,5", "2", "3", "3,3", "4", "4,5", "5", "6", "8", "10", "12", "13", "14", "15", "16", "17", "18", "19", "20", "30", "35", "36", "38" }));

        tEfektywna.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "20", "22", "23", "25", "26", "27", "28", "30", "35", "36", "40", "44", "45", " " }));

        tCalkowita.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "40", "45", "50", "55", "57", "58", "60", "62", "63", "64", "65", "70", "72", "75", "80", "83", "85", "90", "100" }));

        tMaterial.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Grafit", "Miedź", "Do 52HRC", "Do 60HRC", "Wszystkie" }));

        label1.setBackground(new java.awt.Color(255, 255, 102));
        label1.setText("Imię");

        label3.setBackground(new java.awt.Color(255, 255, 102));
        label3.setText("Rodzaj Freza");

        label4.setBackground(new java.awt.Color(255, 255, 102));
        label4.setText("Długośc ostrza");

        label5.setBackground(new java.awt.Color(255, 255, 102));
        label5.setText("Długośc efektywna");

        label6.setBackground(new java.awt.Color(255, 255, 102));
        label6.setText("Długość całkowita");

        label7.setBackground(new java.awt.Color(255, 255, 102));
        label7.setText("Materiał obrabiany");

        tblNarzedzia.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null},
                
            },
            new String [] {
                "Imię", "Rodzaj Freza", "Długość ostrza", "Długość efektywna", "Długość całkowita", "Materiał obrabiany", "Data pobrania"
            }
        ));
        tblNarzedzia.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblNarzedziaMouseClicked(evt);
            }
        });
        jScrollPane2.setViewportView(tblNarzedzia);

        label2.setBackground(new java.awt.Color(255, 255, 102));
        label2.setName(""); // NOI18N
        label2.setText("Data pobrania");

        tData.setText("textField1");

        bEdit.setText("Edytuj");
        bEdit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bEditActionPerformed(evt);
            }
        });

        bDelete.setText("Usuń");
        bDelete.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bDeleteActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane2)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(bAdd)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bEdit)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bDelete)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(tImie, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tFrez, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tOstrze, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tEfektywna, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(label6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tCalkowita, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(tMaterial, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(tData, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(label2, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE)))))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bAdd)
                    .addComponent(bEdit)
                    .addComponent(bDelete))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(label6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(tImie, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tFrez, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tOstrze, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tEfektywna, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tCalkowita, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tMaterial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 520, Short.MAX_VALUE)
                        .addGap(18, 18, 18))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(tData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
        );

        pack();
    }// </editor-fold>                        

    private void tImieActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
    }                                     

    private void tFrezActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
    }                                     

    private void bAddActionPerformed(java.awt.event.ActionEvent evt) {                                     
     
        model.insertRAW(model.getRowCount(), new Object[]{tImie.getUI(), tFrez.getUI(), tOstrze.getUI(), tEfektywna.getUI(), tCalkowita.getUI(), tMaterial.getUI()});
       
    }                                    

    private void bEditActionPerformed(java.awt.event.ActionEvent evt) {                                      
     model.setValueAt(tImie.setModel(), tblNarzedzia.getSelectedRow(),0);
     model.setValueAt(tFrez.setModel(), tblNarzedzia.getSelectedRow(),1);
     model.setValueAt(tOstrze.setModel(), tblNarzedzia.getSelectedRow(),2);
     model.setValueAt(tEfektywna.setModel(), tblNarzedzia.getSelectedRow(),3);
     model.setValueAt(tCalkowita.setModel(), tblNarzedzia.getSelectedRow(),4);
     model.setValueAt(tMaterial.setModel(), tblNarzedzia.getSelectedRow(),5);
     model.setValueAt(tData.getText(), tblNarzedzia.getSelectedRow(),6);
    }                                     

    private void tblNarzedziaMouseClicked(java.awt.event.MouseEvent evt) {                                          
       tImie.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),0)));
       tFrez.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),1)));
       tOstrze.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),2)));
       tEfektywna.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),3)));
       tCalkowita.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),4)));
       tMaterial.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),5)));
       tData.setText(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),6)));
    }                                         

    private void bDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                        
        model.removeROW(tblNarzedzia.getSelectedRow());
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(biblioteka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(biblioteka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(biblioteka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(biblioteka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new biblioteka().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton bAdd;
    private javax.swing.JButton bDelete;
    private javax.swing.JButton bEdit;
    private javax.swing.JDialog jDialog1;
    private javax.swing.JScrollPane jScrollPane2;
    private java.awt.Label label1;
    private java.awt.Label label2;
    private java.awt.Label label3;
    private java.awt.Label label4;
    private java.awt.Label label5;
    private java.awt.Label label6;
    private java.awt.Label label7;
    private javax.swing.JComboBox tCalkowita;
    private java.awt.TextField tData;
    private javax.swing.JComboBox tEfektywna;
    private javax.swing.JComboBox tFrez;
    private javax.swing.JComboBox tImie;
    private javax.swing.JComboBox tMaterial;
    private javax.swing.JComboBox tOstrze;
    private javax.swing.JTable tblNarzedzia;
    // End of variables declaration                   
}
 
  • 1.JPG (83 KB) - ściągnięć: 253
edytowany 1x, ostatnio: bogdans
hcubyc
słyszał o http://sscce.org/? Podałeś dużo kodu, a nie ten związany z comboboxem i jtable, nie wiem jak innym, ale mi się nie chce czytać
bogdans
!Wstawiaj kod w znaczniki &lt;code=java&gt;&lt;/code&gt;
M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

udało mi się rozwiązać ten problem, ale za to mam kolejny jak sprawić by to co sie wyświetla w programie można było zapisać np. do pliku excel, albo worda tak by to w miarę przechowywało dane jako bazę danych oraz po otwarciu można było odczytać stan sprzed zapisu oraz oraz dodać nowy wpis

tomasz79
  • Rejestracja:około 15 lat
  • Ostatnio:ponad rok
  • Postów:52
0

Jeśli chcesz aby twoje zapisane dane można było odczytać w excel-u zainteresuj się formatem csv. http://pl.wikipedia.org/wiki/CSV_(format_pliku)
Bardzo łatwo można napisać klasy do odczytu i zapisu danych dla tablic w java, wystarczy trochę poszukać na gogle i po temacie.

edytowany 1x, ostatnio: tomasz79
M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

Mam jeszcze inna wizje, a mianowicie by program sam był w stanie zapisać stan zmian w sobie? Istnieje jakiś prosty sposób na zapisanie danych oraz wczytanie ich po otwarciu pliku?

tomasz79
  • Rejestracja:około 15 lat
  • Ostatnio:ponad rok
  • Postów:52
0

To ty ustalasz co ma program robić. Musisz go tak zaprogramować aby podczas startu programu wczytywał dane z pliku, a podczas zamykania zapisywał aktualne dane do pliku. Żeby to zrobić skorzystaj z Properties, to jest bardzo przydatna funkcjonalność w programach. Przy zamykaniu programu programujesz akcję zamknięcia okna JFrame, czyli zapisujesz aktualny stan tablicy z danymi do pliku, a w Properties zapisujesz ścieżkę dostępu do plików z danymi natomiast przy uruchamianiu programu robisz wszystko na odwrót. http://4programmers.net/Java/Properties_-_pliki_tekstowe

M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

nie bardzo rozumiem zasadę działa tych plików .properties, bo stworzyłem dwa w programie oraz dodałem do nich kod z linku, który podałeś... jak teraz zaimplementować to do przycisku zapisz by stan programu był zachowany po wyłączeniu go krzyżykiem?

  • 2.JPG (142 KB) - ściągnięć: 185
  • 1.JPG (172 KB) - ściągnięć: 187
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Dla głównego okna programu ustaw dodaj WindowListenera

Kopiuj
addWindowListener(listener);

W metodzie

Kopiuj
public void windowClosing(WindowEvent we){
 ...
}

tego listenera umieść kod zapisujący stan programu.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 1x, ostatnio: bogdans
M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

robię tak i nie bardzo działa bo i tak nie zapisuje... załączę cały folder programu może będzie łatwiej w wyjaśnieniu tej kwestii, ewentualnie na kierowanie na to co dokładnie zmienić

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

W kodzie, który zamieściłeś nie ma żadnego WindowListenera.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

przepraszam jeszcze raz zamieszczam

0

w ogóle nie zrozumiałeś do czego służą propertiesy. Zamieściłeś jakiś kod w plikach properties a tam ma być tylko konfiguracja. Cały zapis/odczyt ma być po stronie aplikacji. Zapis jak napisał @bogdans w metodzie windowClosing a odczyt na starcie aplikacji

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

W Twoim kodzie

Kopiuj
            public void windowClosing(WindowEvent w){
                System.exit(0);
            }

W moim poście

W metodzie

public void windowClosing(WindowEvent we){
...
}
tego listenera umieść kod zapisujący stan programu.

Dostrzegasz różnicę?


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

cały czas nie rozumiem o co dokładnie chodzi wyrzuciłem System.exit(0); oraz zmieniłem na (WindowEvent we) ale nadal nie wiem co wpisać w tej metodzie dokladnie, bo sie troche pogubiłem :) może jakas bardziej namacalna podpowiedź?

tomasz79
  • Rejestracja:około 15 lat
  • Ostatnio:ponad rok
  • Postów:52
0

Napisałem na szybko.
Jak uruchomisz program z poziomu NetBeans pojawią się dwa okna. Zmień położenie, rozmiar oraz zawartość okna o nazwie "Testowanie Properties". Następnie wyłącz to okno "X" a później jeszcze raz uruchom cały program i sprawdź czy położenie i rozmiar okna "Testowanie Properties" będzie takie same przed zamknięciem.
Na tym polega praca z Properties.

Jeszcze jedna uwaga. Dodaj funkcjonalność aby można było z pliku wczytywać dane, które masz w JComboBox-ach bo teraz trzeba programowo dodawać dane co nie jest dobrym pomysłem.

Pozdrawiam TJ

edytowany 4x, ostatnio: tomasz79
M1
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 8 lat
  • Postów:21
0

niestety znowu się pogubiłem i teraz nie wiem jak sprawić by pobieralo mi dane od razu po odczycie i zapisie, ciągle błedy wywalają oraz jak dodać by wszystko działało po nacisnięciu przycisku zapisz

0
michal1311 napisał(a):

niestety znowu się pogubiłem i teraz nie wiem jak sprawić by pobieralo mi dane od razu po odczycie i zapisie, ciągle błedy wywalają oraz jak dodać by wszystko działało po nacisnięciu przycisku zapisz

Po tym co zobaczyłem, jak używasz klasy OdczytZapis uważam że nie masz bladego pojęcia co robisz.
Zadanie na dziś to nauka co to jest klasa, metody i pola. Przekładu chyba faktycznie nie zrozumiałeś.
Pozdrawiam TJ

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.