ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
355
355
EMPFEHLEN
-
03.12.08 18:05 #1
- Registriert seit
- Sep 2007
- Ort
- Mannheim
- Beiträge
- 19
Guten Abend meine Lieben

Es geht um folgendes:
Ich möchte in meinem Java-Formular (Frame AWT) nun auch Bilder anzeigen lassen, da ich nun, da das Programm und seine Funktionen stehen, es optisch ein wenig aufbessern möchte.
Wie man ein Bild in einem Java Frame erzeugt ist mir bewusst, das klappt auch.
Mein Problem - so hat es sich nun rausgestellt - ist mein Panel.
Nun wollte ich fragen ob jemand von euch mir vllt kurz helfen könnte, da ich nicht weiss, wie ich dieses Bild nun in meinem Panel anzeigen lassen kann nach längerer Ausprobiererei.
Erstmal einen kleinen Ausschnitt aus meinen Code:
Meine Frage an euch also: Wie kann ich ein Bild im Panel cp anzeigen lassen?PHP-Code:public Image img;
//...oben ist code...
public eingabeformular(String title)
{
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 683;
int frameHeight = 620;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Panel cp = new Panel(null);
add(cp);
Toolkit toolkit = Toolkit.getDefaultToolkit();
MediaTracker mt = new MediaTracker (this);
img = toolkit.getImage("jenny.jpg");
mt.addImage(img,0);
try
{
mt.waitForID(0);
}
catch (Exception e)
{}
//weiter unten ist code...
}
//ausserhalb der klasse folgt irgendwann die Methode paint :
public void paint(Graphics g){
if(img != null)
{
g.drawImage (img, 0, 0, this.getWidth (), this.getHeight (), this);
}
}
//weiter unten ist noch mehr code...

Info:
Da ich mein 750Zeilen Code nicht völlig umschreiben möchte, wäre ich euch wirklich sehr dankbar für eine Lösung. Import Klassen sind natürlich die richtigen vorhanden, sowie die public Variable "img"Geändert von blackrose4me (03.12.08 um 18:13 Uhr)
-
Hallo,
die paint-Methode musst du beim Panel überschreiben.
Entweder du schreibst dir eine eigene Panel-Klasse oder du machst es so
Code :1 2 3 4 5 6 7 8 9 10
Panel cp = new Panel(){ public void paint(Graphics g){ if(img != null) { g.drawImage(img,0,0,this.getWidth(),this.getHeight(), this); } } };
Der Weg mit der eigenen Klasse ist meiner Meinung nach der bessere Weg.
MFG
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
Hey,
und versuch mal ein revalidate() ; und repaint() ;
Damit das Panel neu gezeichnet wird und Änderungen sichtbar werden.
Wobei ich es auch mit dem Überschreiben machen würde.
Gruß
Ähnliche Themen
-
Bild URL aus XML anzeigen lassen?!
Von warstel im Forum Flash PlattformAntworten: 5Letzter Beitrag: 17.02.10, 16:01 -
Webcam auf Panel anzeigen und Bild/Video Speichern DirectShowLib
Von Topia im Forum .NET Grafik und SoundAntworten: 1Letzter Beitrag: 16.12.08, 11:53 -
Bild anzeigen lassen?
Von tesarolle im Forum PHPAntworten: 2Letzter Beitrag: 13.05.05, 14:12 -
Grafiken in einem Panel anzeigen lassen
Von haggard im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 7Letzter Beitrag: 04.04.04, 18:56 -
MFC: Bild anzeigen lassen (jpg)
Von biba im Forum C/C++Antworten: 3Letzter Beitrag: 25.07.03, 22:02





Zitieren

Login





