problem z klasa 'Color'

0

witam,
taki prosty i krotki aplet:

import java.applet.Applet;
import java.awt.*;

public class Color extends Applet {
public void paint(Graphics g) {
setBackground(java.awt.Color.BLUE);
setForeground(java.awt.Color.RED);
g.drawString("JAVA", 10, 10);
g.setColor(new Color(5,235,23));
g.fillOval(100 , 100 , 50 , 50);
}
}

i wyrzuca blad:
Color.javacannot find symbol
symbol: constructor Color(int,int,int)
location:Class Color
g.g.setColor(new Color(5,235,23));

blad wyrzuciloby juz kilka linijek wczesniej gdzie musialem zamienic linijki
setBackground(Color.BLUE); na setBackground(java.awt.Color.BLUE);

czyli nie rozpoznaje mi obiektow Color,
ale dlaczego?przeciez zaimportowalem java.awt.* gdzie jest klasa Color.

0
  1. Dobra rada: nowe, własne klasy nazywaj zgodnie z ich funkcjonalnością, staraj się aby nazwy nie pokrywały się istniejącymi klasami, np ColorApplet
  2. Poprawne ustawienie koloru g.setColor(new java.awt.Color(5,235,23)); zamiast g.setColor(new Color(5,235,23));Twój kod używał twojej klasy a nie Color z pakietu awt
0

dzieki za pomoc,
czyli nastapilo cos w stylu przesloniecia z C++ tak?,
nie zwrocilem na to uwagi.

0

Nie. Przesłonięcie jest wtedy, gdy dziedziczysz po klasie, a następnie definiujesz metodę, która jest już w klasie nadrzędnej zaimplementowana. Robisz to definiując metodę paint w swojej klasie.

Skoro zdefiniowałeś klase Color oczywiste jest, że Java widząc konstrukor new Color użyje właśnie twojej klasy, a nie z awt.

1 użytkowników online, w tym zalogowanych: 0, gości: 1