Buttons tauchen erst bei Cursorberührung auf
Hallo zusammen,
nachdem ich mein erstes Dialogfenster erfolgreich geschaffen hatte, dachte ich mir ich hübsche es etwas mit einer Grafik auf. Vorher gabs nur zwei Buttons mit einem Run und ein wenig Text. Alles ohne Probleme.
Leider tauchte nach Einbinden der Grafik das Problem auf, dass die zwei Buttons des Fensters nur dann auftauchen, wenn ich mit dem Mauscursor über deren Position fahre. Die Funktion bleibt ohne weiteres erhalten und danach bleiben sie sichtbar.
Hier mal mein Code für den Grafikaufruf:
public void paint(Graphics g)
Bild laden
{
Image img;
img = getToolkit().getImage("c:\\backup\\hrf.gif");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);
try
{
Warten, bis das Image vollständig geladen ist,
mt.waitForAll();
}
catch (InterruptedException e)
{
}
repaint();
if (img != null)
{
g.drawImage(img,4,30,this);
}
}
Hat von euch jemand eine Idee woran das liegen könnte?
nachdem ich mein erstes Dialogfenster erfolgreich geschaffen hatte, dachte ich mir ich hübsche es etwas mit einer Grafik auf. Vorher gabs nur zwei Buttons mit einem Run und ein wenig Text. Alles ohne Probleme.
Leider tauchte nach Einbinden der Grafik das Problem auf, dass die zwei Buttons des Fensters nur dann auftauchen, wenn ich mit dem Mauscursor über deren Position fahre. Die Funktion bleibt ohne weiteres erhalten und danach bleiben sie sichtbar.
Hier mal mein Code für den Grafikaufruf:
public void paint(Graphics g)
Bild laden
{
Image img;
img = getToolkit().getImage("c:\\backup\\hrf.gif");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);
try
{
Warten, bis das Image vollständig geladen ist,
mt.waitForAll();
}
catch (InterruptedException e)
{
}
repaint();
if (img != null)
{
g.drawImage(img,4,30,this);
}
}
Hat von euch jemand eine Idee woran das liegen könnte?
Please also mark the comments that contributed to the solution of the article
Content-Key: 47749
Url: https://administrator.de/contentid/47749
Printed on: May 4, 2024 at 13:05 o'clock
1 Comment
du hast ja eider nicht den ganze Code gepostet, da die Bilder erst zu Laufzeit einliest, schreibe mal an das Ende deiner "MAIN" Klasse den folgenden Befehl.
Dazu musst du wissen, wie dein Frame heisst
<FRAMENAME>.pack();
für Framename setz du den Namen des Frames ein, welcher die GUI trägt.
Ist nur eine Vermutung, da der Cursor theoretisch ein Eventauslösen würde, wenn du eines implemtiert hast, könnte ja sein, dass auch bei mangelnder Implementierung ein GUI refresh, wie bei maximieren und minimieren des Fensters stattfindet.
Möglich wären auch noch Probleme mit möglichen Layoutmanagern. >> Überlagerung usw. Färb dann die einzelene Panel anderfarbig ein, dann siehst du ob alles ist wie es sein sollte.
Panelname.setColor... google hilft!
dadurch wird sozusagen dein GUI Aufbau refresht. wenn es nix hilft poste alles Bitte, sonst kann ich Dir schlecht helfen.
Greetz
Janosch
Dazu musst du wissen, wie dein Frame heisst
<FRAMENAME>.pack();
für Framename setz du den Namen des Frames ein, welcher die GUI trägt.
Ist nur eine Vermutung, da der Cursor theoretisch ein Eventauslösen würde, wenn du eines implemtiert hast, könnte ja sein, dass auch bei mangelnder Implementierung ein GUI refresh, wie bei maximieren und minimieren des Fensters stattfindet.
Möglich wären auch noch Probleme mit möglichen Layoutmanagern. >> Überlagerung usw. Färb dann die einzelene Panel anderfarbig ein, dann siehst du ob alles ist wie es sein sollte.
Panelname.setColor... google hilft!
dadurch wird sozusagen dein GUI Aufbau refresht. wenn es nix hilft poste alles Bitte, sonst kann ich Dir schlecht helfen.
Greetz
Janosch