refleksja, dostęp do pól.

0

Mam problem z refleksja mianowcie: pobrałem pola klasy oraz trzy metody które są mi potrzebne, i teraz chce użyć na danym polu, jednej z metod, jednak nie wiem w jaki sposób to zrobić.

 
	try {
				Class c = Class.forName("java.awt.Color");
				
				Method m1 = c.getMethod("getRed");
				Method m2 = c.getMethod("getGreen");
				Method m3 = c.getMethod("getBlue");
				
                                Field f[] = c.getFields();
				Field aa = c.getField("white");
				
				
				for (int i = 0; i < f.length; i++) {
					Field field = f[i];
					f[i].setAccessible(true);

					int z = slider1.getValue() - field. (w tym miejscu mam problem) ;
				}
				
				

			} catch (Throwable e) {
				System.err.println(e);
0

field.get(obiekt_klasy)

0

a dokładniej ? bo nie mogę sobie z tym dać rady. Konkretnie od wartosci slider1.getValue() musze odjąć wartość jaką zwraca mi np WHITE.getGreen(), tyle że za pomocą refleksji..

0

@Shalom napisał Ci bardzo dokładnie.... Field to jest identyfikator pola klasy. KLASY a nie OBIEKTU. Teraz jak chcesz pobrać jego wartość to jako parametr podajesz OBIEKT KLASY z której ten field pochodzi, bo przecież może być wiele obiektów tej klasy prawda ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.