Witam,mam taki problem:piszę program w javie, stworzyłem przycisk "Edytuj", mam też klasę Edycja, w której jest co ma się dziać. Problem w tym jak to połączyć w całość, żeby po kliknięciu na przycisk uruchamiała się edycja? Jeśli mógłby ktoś pomóc byłbym wdzięczny. Załączam fragment kodu:
this.add(new JScrollPane(table));
Box controls = Box.createHorizontalBox();
controls.setBorder(BorderFactory.createEmptyBorder(10,5,5,5));
Dimension filter=new Dimension(5,5);
controls.add(button("Sortowanie","cmd::sortuj"));
controls.add(Box.createRigidArea(filter));
controls.add(button("Filtrowanie","cmd::filtruj"));
//controls.add(Box.createGlue());
controls.add(button("Edycja","cmd::edytuj"));
controls.add(Box.createRigidArea(filter));
controls.add(button("Usuwanie","cmd::usun"));
//controls.add(Box.createGlue());
add(controls,"South");
}
Akcję trzeba by przypisać chyba w tym miejscu:
public void actionPerformed(ActionEvent e){
JFileChooser fileChoser=new JFileChooser();
//FileFilter type1=new FileFilter("Pliki tekstowe",new String[]{".txt",".doc"})
fileChoser.setDialogTitle("Otwieranie pliku");
this.getContentPane().add(fileChoser);
fileChoser.setVisible(true);
int ret = fileChoser.showOpenDialog(this);
if (ret == JFileChooser.APPROVE_OPTION) {
BufferedReader buf=null;
int k=0;
file = fileChoser.getSelectedFile();
fileChoser.getCurrentDirectory().toString();
try{
buf = new BufferedReader(new FileReader(file));
while(linia!=null)
{
for(int i=0;i<5;i++)
{
linia=buf.readLine();
d[k][i]=linia;
}
k+=1;
}
buf.close();
}catch (IOException w)
{
JOptionPane.showMessageDialog(null,"Blad odczytu pliku tekstowego");
}
table=new JTable(d,colNames);
this.add(new JScrollPane(table));
//pole_t.append(file.getName());
//pole_t.setCaretPosition(pole_t.getDocument().getLength());
}
if(ret==JFileChooser.CANCEL_OPTION){
}}
A to jest klasa,którą chce przypisac:
package employeeapp;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
/**
*
* @author Admin
*/
public class Edycja extends JFrame {
public JTextField[] pole;
private BeanDataModel model;
private JLabel[] etykieta;
int liczba_pol;
String nazwa_kolumny;
public Edycja(){
setTitle("Edycja");
setSize(200,200);
liczba_pol=model.getColumnCount();
pole=new JTextField[liczba_pol];
etykieta=new JLabel[liczba_pol];
for(int i=0;i<liczba_pol;i++){
nazwa_kolumny=model.getColumnName(i);
etykieta[i]=new JLabel("nazwa_kolumny");
getContentPane().add(etykieta[i]);
pole[i]=new JTextField();
getContentPane().add(pole[i]);
}
JButton ok=new JButton("Zatwierdz");
JButton cancel=new JButton("Odrzuc");
getContentPane().add(ok);
getContentPane().add(cancel);
pack();
setVisible(true);
}
}