Festlegen JFrame oder JPanel Background Image in Eclipse Helios
Habe ich gegoogelt es und fand, dass der code:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ImageTest {
public static void main(String[] args) {
ImagePanel panel = new ImagePanel(new ImageIcon("background.png").getImage());
JFrame frame = new JFrame();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
Dieser arbeitete für mich, wenn ich das ImageTest.java Datei, und setzen Sie den hintergrund.png im gleichen Ordner.
Aber wenn ich fügen Sie den gleichen code in der Eclipse-IDE (Standard-Paket) zusammen mit dem Bild, dann ist es nicht das Bild als hintergrund. Eigentlich ist es nicht die Bilder und das ist der Grund.
Ich habe versucht, halten Sie beide in der gleichen package pack;
Selbst dann ist es nicht die Bild, also keine Ausgabe.
Ich habe versucht, öffnen Sie den Arbeitsbereich > Projekt-Ordner > Kriegs - > WEB-INF > Klassen
Dann kompiliert das Programm von cmd. Noch ist es nicht zeigen.
Ich weiß nicht, was das problem ist. Dass jemand zu wissen, jede Lösung ist willkommen.
Vielen Dank im Voraus.
Einstellung hintergrund direkt auf den Rahmen ist auch willkommen...
Ich getan habe, all dies mit den code, aber wenn dies funktioniert, dann werde ich die Verlagerung auf windows builder für die GUI. So wird die Hilfe von Ihnen arbeiten in der Fenster-generator auch?
InformationsquelleAutor WindowsCoolTricks.com | 2012-03-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine dumme (aber häufige) Möglichkeit, ein Bild zu laden, das stellt kein feed-back1.
Werden Sie wahrscheinlich feststellen, dass die
background.png
ist nicht mehr eine Datei, aber jetzt Teil einer Jar ist. In diesem Fall, die Möglichkeit zum Zugriff auf einURL
erhalten Sie vonClass.getResource()
.ImageIO
, die wirft hilfreiche & informative Ausnahmen, wenn das Bild nicht geladen werden kann.Hallo Andrew... Danke es funktionierte für mich. 🙂
Froh, Sie haben es sortiert. 🙂
InformationsquelleAutor Andrew Thompson
Dies ist nicht wirklich deine Frage zu beantworten, aber da eine Antwort akzeptiert wurde, dachte ich, was solls, möchten Sie vielleicht einen Blick darauf werfen.
Diese Klasse kann verwendet werden wie jedes JPanel. Es schlagen werden, ein Bild auf den hintergrund der der Systemsteuerung und ändern Sie die Bildgröße, frame in der Größe verändert.
Beispiel:
InformationsquelleAutor Java42