Chciałbym prosić o poprawienie programu.
Ma on działać tak, że po wciśnięciu przycisku na mapie, która odtwarza się po uruchomieniu, mają być rysowane izolinie.
Do konstruktora klasy przycisku podana jest jako argument referencja do instancji rozszerzenia klasy JPanel.
Oto kod:
class Button extends JButton implements ActionListener {
private JPanel buttonPanel;
private JPanel obrazPanel;
Button(JPanel buttonPanel, JPanel obrazPanel) {
super("Przycisk");
this.buttonPanel = buttonPanel;
this.obrazPanel = obrazPanel;
setPreferredSize(new Dimension(100, 20));
addActionListener(this);
this.obrazPanel = obrazPanel;
}
public void actionPerformed(ActionEvent e) {
obrazPanel.RysujLinie(obrazPanel.g2d); // tutaj g2d jest podkreślone na czerwono
}
}
public class ObrazPanel extends JPanel {
public Graphics2D g2d;
...
public void paintComponent(Graphics g) {
g2d = (Graphics2D) g;
g2d.drawImage(diskImage, 0, 0, this);
}
Nie mogę dostać się do obiektu Graphics g2d. Jak można to zrobić ?