Hallo Leute,
ich habe ein Problem, dass schon in diversen Beiträgen im Netz behandelt wurde, aber irgendwie bin ich zu doof es trotzdem zu lösen...
Ich will einfach nur, dass beim Programmstart eine Bilddatei ausgewählt werden kann, bevor sie dann im Fenster dargestellt wird. Angezeigt wird bei mir aber nur so ein komischer schwarzer Winkel (siehe Screenshot im Anhang). Hier der Code mit den 3 Klassen, die das umsetzen sollen, und schonmal vielen vielen Dank.
Nummer 1:
Nummer 2:
Nummer 3:
ich habe ein Problem, dass schon in diversen Beiträgen im Netz behandelt wurde, aber irgendwie bin ich zu doof es trotzdem zu lösen...
Ich will einfach nur, dass beim Programmstart eine Bilddatei ausgewählt werden kann, bevor sie dann im Fenster dargestellt wird. Angezeigt wird bei mir aber nur so ein komischer schwarzer Winkel (siehe Screenshot im Anhang). Hier der Code mit den 3 Klassen, die das umsetzen sollen, und schonmal vielen vielen Dank.
Nummer 1:
Java:
package image_test;
public class Image_test {
public static void main(String[] args) {
gui fenster = new gui("Editor");
fenster.pack();
fenster.setVisible(true);
fenster.setSize(1200,800);
fenster.repaint();
}
}
Nummer 2:
Java:
package image_test;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.awt.*;
import javax.swing.*;
public class bildflaeche extends JPanel
{
private BufferedImage image;
String bildname;
public bildflaeche(String bildnameTemp)
{
super();
bildname=bildnameTemp;
try
{
image = ImageIO.read(new File(bildname));
}
catch (IOException ex)
{
System.out.println("Fehler...");
}
}
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image, 0, 0, this);
}
}
Nummer 3:
Java:
package image_test;
import javax.swing.*;
import java.awt.*;
public class gui extends JFrame
{
bildflaeche bild;
String m_dateiname;
gui (String titel)
{
super(titel);
this.bildLaden();
bild=new bildflaeche(m_dateiname);
this.setLayout(new FlowLayout());
this.add(bild);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public void bildLaden()
{
FileDialog d = new FileDialog(this,"Bilddatei laden...",FileDialog.LOAD);
d.setVisible(true);
m_dateiname = d.getFile();
if(m_dateiname == null)
return;
}
}