mam taką funkcję którą wywołuję w ActionListener przycisku:
private void wykonajZapytanie()
{
rs = null;
String query = null;
try
{
if(wyniki.equals("wynikiGodzinne"))
{
if(cmbGodzinaOd.getSelectedIndex() <= cmbGodzinaDo.getSelectedIndex())
{
query = "select trader_id, order_nbr, sum(net_pl)::numeric(8,2) as \"SUMA\", event_date from baza";
//zwraca 4 kolumny
}
else
JOptionPane.showMessageDialog(Ramka.this, "Błąd", "błąd", 0);
}
else if(wyniki.equals("wynikiSymbol"))
{
query = "select * from wyniki_symbol"; //zwraca 6 kolumn
}
rs = stat.executeQuery(query);
crs = new CachedRowSetImpl();
crs.populate(rs);
tblmWyniki.wyczyscDane();
tblmWyniki.wstawDane(crs);
String sort = sortowanieWynikow(tblmWyniki);
System.out.println(sort);
rs.close();
}
catch(SQLException ex)
{
ex.printStackTrace();
//JOptionPane.showMessageDialog(null, ex.toString(), "BŁĄD", 0);
}
}
oraz funkcję sortowanieWynikow wywoływaną powyżej w funkcji, która zwraca String i tworzy ButtonGroup z JRadioButton'ami
String sortWg = null;
private String sortowanieWynikow(WynikiTableModel model)
{
rbSortowanie = new JRadioButton[model.getColumnCount()];
for(int i = 0 ; i < model.getColumnCount() ; i++) {
rbSortowanie[i] = new JRadioButton(model.getColumnName(i));
bgSortowanie.add(rbSortowanie[i]);
pnlSortowanie.add(rbSortowanie[i]);
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//JRadioButton tmp = (JRadioButton)e.getSource();
sortWg = e.getActionCommand();
//System.out.println("order by " + sortWg);
}
};
rbSortowanie[i].addActionListener(listener);
}
//próbowałem tak
//pnlSortowanie.validate();
//pnlSortowanie.repaint();
return sortWg;
}
jak zrobić aby za każdym naciśnięciem przycisku ButtonGroup był na nowo rysowany, bo teraz za każdym razem dodaje mi kolejne JRadioButton'y, oraz czy istnieje jakaś funkcja ActionEvent zwracająca 'int' wybranego JRadioButton'a, teraz zwraca mi String a ja muszę zrobić aby zwracała int?