Dokładny kod źrodłowy tej klasy:
public class platnosci extends JInternalFrame implements ActionListener
{
public platnosci()
{
super(tytul,
false,
false,
false,
false);
setVisible(true);
try
{
conn_pl = db.getConnection();
}
catch(Exception e)
{
}
}
public void wyswietl_pakiety_abonamentowe()
{
setTitle("Prezentacja pakietów abonamentowych");
JComponent pow_zaw = (JComponent)getContentPane();
GridBagLayout ukl_arkuszowy = new GridBagLayout();
pow_zaw.setLayout(ukl_arkuszowy);
GridBagConstraints wytyczne = new GridBagConstraints();
pokaz_wszystkie_pakiety = "SELECT nazwa_pakietu,cena_abonamentu,predkosc FROM definicja_abonamentu";
String[] nazwy_kolumn_pokaz_abonamenty = {"Nazwa pakietu","Cena pakietu [PLN]","Prędkość [Kb/s]"};
//tabela_pakiety_abonamentowe = new JTable();
przewijana_tabela_pakiety_abonamentowe = new JScrollPane(init_tabela(pokaz_wszystkie_pakiety,tabela_pakiety_abonamentowe,3,nazwy_kolumn_pokaz_abonamenty));
System.out.println(tabela_pakiety_abonamentowe.getRowCount());
sorter = new TableRowSorter(model_platnosci);
tabela_pakiety_abonamentowe.setRowSorter(sorter);
System.out.println(tabela_pakiety_abonamentowe);
tabela_pakiety_abonamentowe.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//System.out.println(tabela.getSelectedRow());
int wiersz = tabela_pakiety_abonamentowe.getSelectedRow();
wybrane_z_tabeli_abonamenty = (String)tabela_pakiety_abonamentowe.getValueAt(wiersz,0).toString();
int ilosc_klikniec = e.getClickCount();
if(ilosc_klikniec == 2)
{
//wykonaj_init();
//System.out.println(wybrane_z_tabeli_abonamenty);
new edycja_platnosci(wybrane_z_tabeli_abonamenty);
}
}
});
p_wyszukiwanie_nazwa_pakietu.getDocument().addDocumentListener(new DocumentListener()
{
public void changedUpdate(DocumentEvent e)
{
Filtrowanie_wynikow_tabeli_platnosci(p_wyszukiwanie_nazwa_pakietu,0);
}
public void insertUpdate(DocumentEvent e)
{
Filtrowanie_wynikow_tabeli_platnosci(p_wyszukiwanie_nazwa_pakietu,0);
}
public void removeUpdate(DocumentEvent e)
{
Filtrowanie_wynikow_tabeli_platnosci(p_wyszukiwanie_nazwa_pakietu,0);
}
});
przewijana_tabela_pakiety_abonamentowe.setPreferredSize(new Dimension(580, 210));
Anuluj_wyszukiwanie_abonament.addActionListener(this);
dodajKomponent(przewijana_tabela_pakiety_abonamentowe, wytyczne, 1,1,10,10);
wytyczne.anchor = GridBagConstraints.LINE_END;
wytyczne.insets = new Insets(5,0,0,0);
dodajKomponent(e_wyszukiwania_nazwa_pakietu_tabela, wytyczne, 1,25,1,1);
dodajKomponent(p_wyszukiwanie_nazwa_pakietu, wytyczne, 6,25,1,1);
dodajKomponent(Anuluj_wyszukiwanie_abonament, wytyczne, 10,25,1,1);
reshape(200,115,600,300);
//tabela1 = tabela_pakiety_abonamentowe;
}
public void wykonaj_init()
{
aa = "SELECT nazwa_pakietu,cena_abonamentu,predkosc FROM definicja_abonamentu";
String[] nazwy_kolumn_= {"Nazwa pakietu","Cena pakietu [PLN]","Prędkość [Kb/s]"};
init_tabela(aa,tabela_pakiety_abonamentowe,3,nazwy_kolumn_);
}
Metoda w której mialoby dzialac odświeżenie
public void edytuj_abonament_SQL()
{
System.out.println(tabela_pakiety_abonamentowe);
String INDEX = null;
try
{
String nie_duplikuj = "SELECT id_pakietu_abonamentu FROM definicja_abonamentu WHERE nazwa_pakietu= '"+pobrana_nazwa_pakietu_przed_edycja+"'";
stat = conn_pl.createStatement();
rs = stat.executeQuery(nie_duplikuj);
while(rs.next())
{
INDEX = rs.getString(1);
}
String UPDATE_new_abonament= "UPDATE definicja_abonamentu SET nazwa_pakietu ='"+psr(p_nazwa_pakietu)+"',cena_abonamentu='"+psr(p_wysokosc_abonamentu)+"', predkosc='"+psr(p_szybkosc)+"', opis_pakietu='"+psr_JTextArea(p_uwagi)+"' WHERE id_pakietu_abonamentu="+INDEX+"";
Statement go_Update = conn_pl.createStatement();
if(go_Update.executeUpdate(UPDATE_new_abonament) > 0)
{
JOptionPane.showMessageDialog(null,"Pomyślnie zaktualizowane wybrany rekord", "INFORMACJA", JOptionPane.INFORMATION_MESSAGE);
doDefaultCloseAction();
init_tabela(pokaz_wszystkie_pakiety,tabela_pakiety_abonamentowe,3,nazwy_kolumn_pokaz_abonamenty);
}
else
System.out.println("Nie powododzenie");
pobrana_nazwa_pakietu_przed_edycja = null;
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Wystąpił następujący błąd podczas wykonywania polecenia ***"+"\n\n" + e.getMessage() + "\n\n", "BŁĄD !", JOptionPane.ERROR_MESSAGE);
}
}
public JTable init_tabela(String zapytanie,JTable nazwa_tabeli,int liczba_komuln,String[] nazwy_kolumn_wyswietl_uzytkownikow)
{
try
{
Statement wykonaj_zapytanie_pl = conn_pl.createStatement();
ResultSet zapytanie_odswiez_pl = wykonaj_zapytanie_pl.executeQuery(zapytanie);
model_platnosci = new model_tabeli(zapytanie_odswiez_pl,nazwy_kolumn_wyswietl_uzytkownikow);
nazwa_tabeli.setModel(model_platnosci);
nazwa_tabeli.revalidate();
nazwa_tabeli.repaint();
nazwa_tabeli.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
nazwa_tabeli.setAutoCreateRowSorter(true);
////////////////////ZMIANA ROZMIARU KOLUMN //////////////////////////////////////////////
TableColumn kolumna_rozmiar = null;
for (int i = 0; i < liczba_komuln; i++) {
kolumna_rozmiar = nazwa_tabeli.getColumnModel().getColumn(i);
if (i == 0)
{
kolumna_rozmiar.setPreferredWidth(280);
}
else
{
kolumna_rozmiar.setPreferredWidth(100);
}
}
}
catch(SQLException wyjatek)
{
//System.out.println(wyjatek.getMessage()+"zzz");
}
return nazwa_tabeli;
}
public model_tabeli model;
public table tabela_pakiety_abonamentowe = new table();
public JScrollPane przewijana_tabela_pakiety_abonamentowe;
public String[] nazwy_kolumn_pokaz_abonamenty = {"Nazwa pakietu","Cena pakietu [PLN]","Prędkość [Kb/s]"};
public String[] nazwy_kolumn = {"Nazwa pakietu","Cena pakietu [PLN]","Prędkość [Kb/s]"};
public Connection conn_pl;
public Statement stat;
public ResultSet rs;
public model_tabeli model_platnosci;
public TableRowSorter sorter;
public String pokaz_wszystkie_pakiety;
public String pokaz_wszystkich;