Hallo mal wieder
Versuche gerade ein Bild in deinem JLabel darzustellen.
Dazu habe ich einen Button, der ein JFileChooser öffnet, indem ich die Datei auswähle
soweit funktioniert es ja schon, ausser bei
schreibt er null hin
und dann habe ich auch noch das JLabel, in das es herein soll
da habe ich auch schon etwas
das sogar ein grösseres Bild auf 235*220 verkleinert, das soll auch in das JLabel rein, aber ich denke mal, dass das nicht das Problem ist, aber wie bekomme ich das Bild aus dem ActionListener des button in das JLabel, also dahin, wo 12b.jpg steht??????
Danke schonmal für eure Bemühungen
Versuche gerade ein Bild in deinem JLabel darzustellen.
Dazu habe ich einen Button, der ein JFileChooser öffnet, indem ich die Datei auswähle
Code:
JButton btload = new JButton();
{
this.getContentPane().add(btload);
btload.setText("Laden...");
btload.setBounds(520,410,80,20);
btload.setVisible(true);
final JFileChooser fc = new JFileChooser();
btload.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg1)
{
int returnVal = fc.showOpenDialog(fc);
final File loadpic = fc.getSelectedFile();
System.out.println("Status:"+returnVal);
};
});
System.out.println(loadpic);
fc.setCurrentDirectory(new File("D:/Java/Projekte/Bilder"));
fc.setAcceptAllFileFilterUsed(false);
fc.setFileFilter(new FileFilter()
{
public boolean accept(File f)
{
return f.isDirectory()||f.getName().toLowerCase().endsWith("jpeg")
|| f.getName().toLowerCase().endsWith("jpg");
}
public String getDescription()
{
return "nur jpg und jpeg";
}
});
};
soweit funktioniert es ja schon, ausser bei
Code:
System.out.println(loadpic);
und dann habe ich auch noch das JLabel, in das es herein soll
Code:
JLabel bvschau = new JLabel();
{
this.getContentPane().add(bvschau);
bvschau.setBorder(new LineBorder(Color.black));
bvschau.setBounds(520,180,235,220);
bvschau.setVisible(true);
};
da habe ich auch schon etwas
Code:
{
try
{
BufferedImage in = ImageIO.read(new File("12b.jpg"));
Image scaled = in.getScaledInstance(235, 220, Image.SCALE_SMOOTH);
BufferedImage out = new BufferedImage(235, 220, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = out.createGraphics();
g2d.drawImage(scaled, 0, 0, null);
g2d.dispose();
JLabel pic = new JLabel(new ImageIcon(out));
this.getContentPane().add(pic);
pic.setOpaque(true);
pic.setBackground(Color.green);
pic.setBounds(155,76,235,220);
pic.setBorder(new LineBorder(Color.black));
}
catch (IOException e)
{
JLabel pic = new JLabel(new ImageIcon("3.gif"));
this.getContentPane().add(pic);
pic.setOpaque(true);
pic.setBackground(Color.green);
pic.setBounds(155,76,235,220);
pic.setBorder(new LineBorder(Color.black));
}
};
Danke schonmal für eure Bemühungen