Cześć
Mam problem ze zrozumieniem słówka this
w tym konkretnym przykładzie:
g.fillRect(0, 0, this.getWidth(), this.getHeight());
Wiem jak rozumieć to słówko przy konflikcie nazw i przekazywaniu konstruktorów ale tutaj mam problem.
Z tego co zrozumiałem, to jest to przekazanie obiektu danej klasy.
Np. this.getWidth()
ustawia mi szerokość taką samą jak szerokość panelu - tutaj nie rozumiem jak się ma przekazanie obiektu danej klasy (instancji) do tego, żeby została pobrana wartość z panelu?
Jak mam rozumieć użycie słówka this
w takich przypadkach?
Poniżej reszta kodu (nie wkleiłem tylko importów, może tam być kilka rzeczy, które są tutaj nie istotne, bo trochę tam testuje):
public class GUI1 extends JPanel implements ActionListener
{
public void paintComponent(Graphics g)
{
g.fillRect(0, 0, this.getWidth(), this.getHeight());
int czerwony = (int) (Math.random() * 256);
int zielony = (int) (Math.random() * 256);
int niebieski = (int) (Math.random() * 256);
Color kolorLosowy = new Color(czerwony, zielony, niebieski);
g.setColor(kolorLosowy);
g.fillOval(70, 70, 100, 100);
// Image obrazek = new ImageIcon("test2.png").getImage();
// g.drawImage(obrazek, 5, 5, this);
}
public static void main(String[] args)
{
GUI1 gui1 = new GUI1();
JFrame ramka = new JFrame();
// JButton przycisk = new JButton("klik");
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ramka.getContentPane().add(przycisk);
ramka.setSize(300, 300);
ramka.setVisible(true);
ramka.repaint();
ramka.add(gui1);
}
@Override
public void actionPerformed(ActionEvent e)
{
}
}