[Java] Znikanie/zmienianie koloru linii przyciskiem

pablopoz
Użytkownik
Użytkownik
Posty: 64
Rejestracja: 13 wrz 2007, o 16:44
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 8 razy
Pomógł: 1 raz

[Java] Znikanie/zmienianie koloru linii przyciskiem

Post autor: pablopoz »

Witam. Mam problem z jednym małym zagadnieniem w javie.
Jak mogę sprawić, że narysowana wcześniej linia po naduszeniu klawisza F3 stanie się niewidzialna?
Ewentualnie: jak mogę sprawić, że linia po wciśnięciu F3 stanie się koloru czarnego?

Kod, którym rysowałem owal:

Kod: Zaznacz cały

    public void paint(Graphics g) {
        super.paint(g);

        Graphics2D g2 = (Graphics2D)g;
        g2.setColor(Color.WHITE);
  
        g2.drawOval(100, 100, 50, 50);
}
Kod, którym chcę "zniknąć" linię:

Kod: Zaznacz cały

public void keyPressed(KeyEvent e) {

        int key = e.getKeyCode();

        else if (key == KeyEvent.VK_F3) {
           
        }
}
Ostatnio zmieniony 12 lis 2011, o 21:58 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Java] Znikanie/zmienianie koloru linii przyciskiem

Post autor: Afish »

Musisz w metodzie paint wiedzieć, jakiego koloru narysować oval, a po wciśnięciu klawisza zmienić ten kolor i wywołać repaint().
pablopoz
Użytkownik
Użytkownik
Posty: 64
Rejestracja: 13 wrz 2007, o 16:44
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 8 razy
Pomógł: 1 raz

[Java] Znikanie/zmienianie koloru linii przyciskiem

Post autor: pablopoz »

Afish pisze: a po wciśnięciu klawisza zmienić ten kolor
No właśnie tu mam główny problem, nie wiem jak powinna wyglądać komenda,która zmieni ten kod.
Właściwie to jakakolwiek ingerencja w metodę keyPressed powoduje, że eclipse chce mi zmieniać drawOval na drawLine, a drawLine na drawOval i tak bez końca, cały czas wyświetlając błąd.
To nie jest tak, że tych poleceń zaczynających się od g2. mogę używać tylko w metodzie paint? Jak mogę odwołać się do polecenia

Kod: Zaznacz cały

g2.setColor(Color.WHITE);
w metodzie keyPressed?

Wybaczcie jeśli to głupie lub elementarne pytanie, lecz dopiero się uczę.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Java] Znikanie/zmienianie koloru linii przyciskiem

Post autor: Afish »

Musisz w metodzie paint wiedzieć, jakiego koloru narysować oval
Czyli nie hardkodujesz koloru, tylko zapamiętujesz go sobie do zmiennej.
po wciśnięciu klawisza zmienić ten kolor
Czyli wtedy zmieniasz zawartość zmiennej.
To nie jest tak, że tych poleceń zaczynających się od g2. mogę używać tylko w metodzie paint?
i wywołać repaint().
ODPOWIEDZ