• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

ma wieder java

Mitglied seit
20.08.2002
Beiträge
4.808
Reaktionen
0
falls es irgend nen mod hier stört sollers ins community oder ot verschieben.

ich hab hier mal nen paar kleine noob fragen.

1. gibt es einen expliziten aufruf der paint(Graphics arg0) methode? das mit repaint() funktioniert irgendwie nicht immer richtig :(

2. gibt es eine "einfache" möglichkeit ein _globale_ objekt einer eigenen klasse zu erstellen (im sinne von: verwendbar in jeder klasse des package) (da steh ich irgendwie total aufm schlauch).



(man betrachte meinen häufigen gebrauchs des wortens "irgendwie", wobei sich die programme ja bei gleichen bedingungen immer gleich verhalten müssten)
 
Mitglied seit
08.07.2000
Beiträge
707
Reaktionen
0
Sorry aber ich verstehe den 2. Punkt nicht.

Willst du folgendes:

in Klasse A: wird ein Objekt "myObject" erstellt

in Klasse B: soll auf Objekt "myObjekt" zugegriffen werden?
 

DonPromillo2

Guest
Wo willste was neu zeichnen?
Bei Oberflächen hilft meist schon:
Object.revalidate();
Object.repaint();
Allerdings, um z.b. Tabellen bei Datenänderungen neu zu zeichnen brauchste noch ein bissle mehr...


wenn du ne Klasse MyTools hast. Kannste du alle Mothoden static deklarieren (Instanzen auch). Dann kannst du von allen anderen Klassen auf diese Zugreifen ohne eine Instanz der Klasse zu erstellen. Auch beim Zugriff auf statische Variablen sinds immer die selben. Pass dabei aber auf, wenne Threads verwendest. Sonst schießte dir selbst ins Bein
 

The_Company

Guest
public static MyClass FUER_ALLE = MyClass ();
zugreifen drauf mit MyClass.FUER_ALLE
So?
 
Mitglied seit
20.08.2002
Beiträge
4.808
Reaktionen
0
@mordor jo, ich möchte von meiner KlasseX in KlasseEgal ein objekt namens sowieso erstellen und dieses in den Klassen A-W ebenfalls nutzen können.

@donpromillo ich erwähnte doch dass repaint() nicht hinhaut.
static methoden verwenden ist ne möglichkeit, aber hat einige nachteile die es mir nicht ermöglichen es zu nutzen, aber danke ;)

@company hab ehrlich gesagt kein plan was du da versuchst.
falls du ne statische methode deklarieren willst würde das z.b. so gehn:
public static void Methodename() {
//blah
}
und zugriff wäre Klassenname.Methodenname
 
Mitglied seit
08.12.2001
Beiträge
2.053
Reaktionen
0
ich glaube das wonach du suchst nennt sich singleton.
ne singleton klasse besitz eine public static funktion über die man eine instanz einer klasse ansprechen kann (in c++ würde diese funktion nen pointer auf die entsprechende instanz zurückgeben)
du machst den eigentlichen konstruktor private so dass ihn von aussen niemand benutzen kann.
dann sind quasi alle gezwungen über die static funktion auf die eine instanz der klasse zuzugreifen, ich hoffe das war halbwegs verständlich ;)
 
Oben