Edycja tabeli i aktualizowanie tego w liście

0

Cześć,pobrałam do arraylist dane od uzytkowanika i wyswietliłam y je w tabeli teraz chciałabym edytować pole w tabeli tak zeby dane które zostały zedytowane były aktualizowane właśnie w tej liście i w tabeli.

0

Jeśli chcesz aby ktoś Ci pomógł, to podaj więcej szczegółów oraz obecny kod. Nikt nie będzie przecież wróżył z fusów.

0
furious programming napisał(a):

Jeśli chcesz aby ktoś Ci pomógł, to podaj więcej szczegółów oraz obecny kod. Nikt nie będzie przecież wróżył z fusów.

if(jTextField_imie.getText().isEmpty() || jTextField_nazwisko.getText().isEmpty() || jTextField_pesel.getText().isEmpty()
                || jTextField_adres.getText().isEmpty() || jTextField_nrD.getText().isEmpty() || jTextField_urządS.getText().isEmpty()
                || jTextField_tel.getText().isEmpty() )
        {
          JOptionPane.showMessageDialog(this,"Nie wypełniono wszystkich pól!!!");  
        }
        else{
        
        Dane pracownik = new Dane();
        
            pracownik.imie = jTextField_imie.getText();
            pracownik.nazwisko = jTextField_nazwisko.getText();
            try
            {
            String text = jTextField_pesel.getText();
            pracownik.pesel = Long.parseLong(text);
            }
            catch(NumberFormatException ex)
            {
               JOptionPane.showMessageDialog(this,"Podaj pesel"); 
            }
             SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyy");
             String theDate = dateFormat.format(jDateChooser_dataUrodzenia.getDate());
             String theDate1 = dateFormat.format(jDateChooser_dataRozPracy.getDate());
            pracownik.dataUrodzeniaa = theDate;
            
            pracownik.dataRozpPracy = theDate1;
            pracownik.adresZamieszkania = jTextField_adres.getText();
            try
            {
            String text1 = jTextField_nrD.getText();
            pracownik.numerDomu = Integer.parseInt(text1);
            }
            catch(NumberFormatException ex)
            {
                JOptionPane.showMessageDialog(this,"Podaj numer Domu"); 
            }
            pracownik.urzadSkarbowy = jTextField_urządS.getText();
            pracownik.stawka = (int)jSpinner1.getValue();
            try
            {
            String text2 = jTextField_tel.getText();
            pracownik.telefon = Long.parseLong(text2);
            }
            catch(NumberFormatException ex)
            {
            JOptionPane.showMessageDialog(this,"Podaj numer telefonu"); 
            }
            
            SimpleDateFormat dateFormat_DZ = new SimpleDateFormat("dd-MM-yyy");
            String DZIENZAPLANOWANY = dateFormat_DZ.format(jDateChooser1.getDate());
            pracownik.dzien_zaplanowany = DZIENZAPLANOWANY;
             pracownik.liczbaGodzin_zaplanowanych= (int)jSpinner2.getValue();
             
            SimpleDateFormat dateFormat_PG = new SimpleDateFormat("dd-MM-yyy");
            String DZIENPRZEPRACOWANY = dateFormat_PG.format(jDateChooser2.getDate());
            pracownik.dzien_przepracowany = DZIENPRZEPRACOWANY;
            pracownik.liczbaGodzin_przepracowanych= (int)jSpinner3.getValue();
            
        Dane.danePracownikow.add(pracownik);
        
         DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
         model.addRow(new Object[]{pracownik.imie+" "+pracownik.nazwisko,pracownik.pesel,pracownik.dataUrodzeniaa,pracownik.adresZamieszkania+" "+pracownik.numerDomu,
               pracownik.urzadSkarbowy,pracownik.dataRozpPracy,pracownik.stawka,pracownik.telefon,pracownik.dzien_zaplanowany,pracownik.liczbaGodzin_zaplanowanych,
               pracownik.dzien_przepracowany,pracownik.liczbaGodzin_przepracowanych });
     
        }

Powstała mi taka tabela. Teraz chciałabym zedytowac jakiekolwiek pole w tabeli oraz żeby aktualizowały się automatycznie w mojej liście.

package sklepspozywczy1;

import java.util.ArrayList;
import java.util.List;

public class Dane {
    
   String imie, nazwisko;
   long pesel;
   String dataUrodzeniaa;
   String adresZamieszkania;
   int numerDomu;
   String urzadSkarbowy;
   String dataRozpPracy;
   int stawka;
   long telefon;
   
   String dzien_zaplanowany ;
   int liczbaGodzin_zaplanowanych;
   
   String dzien_przepracowany ;
   int liczbaGodzin_przepracowanych;
   
   static public List<Dane> danePracownikow = new ArrayList<Dane>();
     
}
0
edytaa99 napisał(a):
furious programming napisał(a):

Jeśli chcesz aby ktoś Ci pomógł, to podaj więcej szczegółów oraz obecny kod. Nikt nie będzie przecież wróżył z fusów.

if(jTextField_imie.getText().isEmpty() || jTextField_nazwisko.getText().isEmpty() || jTextField_pesel.getText().isEmpty()
|| jTextField_adres.getText().isEmpty() || jTextField_nrD.getText().isEmpty() || jTextField_urządS.getText().isEmpty()
|| jTextField_tel.getText().isEmpty() )
...
DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
model.addRow(new Object[]{pracownik.imie+" "+pracownik.nazwisko,pracownik.pesel,pracownik.dataUrodzeniaa,pracownik.adresZamieszkania+" "+pracownik.numerDomu,
pracownik.urzadSkarbowy,pracownik.dataRozpPracy,pracownik.stawka,pracownik.telefon,pracownik.dzien_zaplanowany,pracownik.liczbaGodzin_zaplanowanych,
pracownik.dzien_przepracowany,pracownik.liczbaGodzin_przepracowanych });

    }

Kodu klasy Dane nie zamieszczasz, ale już mi źle pachnie. Jak mix pojedynczego pracownika i zbiorowości pracowników jednocześnie. Dodatkowo za dużo ma public. Zresztą nazwa Dane, to żadna nazwa

Na "nie" mam więcej: po co tworzyć type-safe klasę, by w końcówce używać Object[], i wiele innych.
Zrób herbatę, teksty pisz spokojniej i składniej, zamieść klasę Dane, którą nazwij po ludzku

Ufff, ale się zmęczyłem

1 użytkowników online, w tym zalogowanych: 0, gości: 1