Witam,
mam problem z ponownym narysowaniem komponentu po naciśnięciu przycisku "aktualizuj". Chciałbym aby po wciśnięciu przycisku zostały pobrane nowe dane i narysowanie komponentu w miejscu zgodnym co do danych, które zostały pobrane.
Mam dwie klasy. Jedna to Rysowanie() odpowiedzialna za wyrysowanie komponentu a druga z interfejsem dla użytkownika.
Problem polega na tym, że gdy wciskam przycisk aktualizuj nic się nie dzieje. Próbowałem repaint() dla obiektu jak i dla panelu ale niestety nie udało się .
Będę wdzięczny za pomoc.
public Rysowanie(int rat_x,int rat_y,int ton_x,int ton_y){
ratownik_x=rat_x;
ratownik_y=rat_y;
tonocy_x=ton_x;
tonocy_y=ton_y;
}
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d= (Graphics2D)g;
g2d.setColor(Color.BLUE);
//g2d.drawRect(0, 0, 400,100);
g2d.fillRect(0, 0, 400, 100);
g2d.setColor(Color.yellow);
g2d.fillRect(0, 100,400, 200);
g2d.setColor(Color.BLACK);
g2d.drawString(tonocy, tonocy_x, tonocy_y);
g2d.drawString(ratownik, ratownik_x, ratownik_y);
}
public Rameczka() {
initComponents();
rys=new Rysowanie(t_x,t_y,r_x,r_y);
rys.setSize(400,200);
jPanel1.add(rys);
}
private void aktualuzujActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource()==aktualuzuj){
String tonacy_x=tonacyX.getText();
int t_x1=Integer.parseInt(tonacy_x);
t_x=t_x1;
String tonacy_y=tonacyY.getText();
t_y=Integer.parseInt(tonacy_y);
String ratownik=ratownikX.getText();
r_x=Integer.parseInt(ratownik);
Strig ratownik_y=ratownikY.getText();
r_y=Integer.parseInt(rat
rys.repaint();
}