Hallo an allee!
ich habe eine kleine Probleme, könnte jemandem mir helfen?
ich möchte auf einem panel ein bild laden und das anzeigen lassen
ich habe die folgende code geschrieben aber leider sehe ich kein bild auf dem fenster
wo mache ich den hier fehler
package anzeigen;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CAnzeige extends JFrame {
Image bild;
int bildBreite,bildHoehe;
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JPanel jPanel2 = new JPanel();
//Construct the frame
public CAnzeige() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
void ladeBild(String dateiname)
{if(dateiname==null)
return;
MediaTracker mt=new MediaTracker(this);
Toolkit tk=Toolkit.getDefaultToolkit();
bild=tk.getImage("H:/Bild/Neubilder/Z0.gif");
mt.addImage(bild,0);
jPanel2.repaint();
try{
mt.waitForAll();
}catch(InterruptedException f){}
bildBreite=bild.getWidth(this);
bildHoehe=bild.getHeight(this);
}
public void paintComponent(Graphics g)
{
super.paintComponents(g);
if(bild!=null)
g.drawImage(bild,20,20,this);
}
public Dimension getPreferredSize()
{
return getMinimumSize();
}
public Dimension getMinimumSize()
{
return new Dimension(bildBreite,bildHoehe);
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
this.setEnabled(true);
this.setSize(new Dimension(1030, 750));
this.setTitle("Animation");
jPanel1.setBackground(Color.black);
jButton1.setText("Schrittweise");
jButton2.setText("Automatisch");
jButton3.setText("Neustart");
jButton4.setText("Szeneraio");
jButton5.setText("Beenden");
jPanel2.setBackground(Color.black);
contentPane.add(jPanel1, BorderLayout.NORTH);
jPanel1.add(jButton1, null);
jPanel1.add(jButton2, null);
jPanel1.add(jButton3, null);
jPanel1.add(jButton4, null);
jPanel1.add(jButton5, null);
contentPane.add(jPanel2, BorderLayout.CENTER);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}
ich habe eine kleine Probleme, könnte jemandem mir helfen?
ich möchte auf einem panel ein bild laden und das anzeigen lassen
ich habe die folgende code geschrieben aber leider sehe ich kein bild auf dem fenster
wo mache ich den hier fehler
package anzeigen;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CAnzeige extends JFrame {
Image bild;
int bildBreite,bildHoehe;
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JPanel jPanel2 = new JPanel();
//Construct the frame
public CAnzeige() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
void ladeBild(String dateiname)
{if(dateiname==null)
return;
MediaTracker mt=new MediaTracker(this);
Toolkit tk=Toolkit.getDefaultToolkit();
bild=tk.getImage("H:/Bild/Neubilder/Z0.gif");
mt.addImage(bild,0);
jPanel2.repaint();
try{
mt.waitForAll();
}catch(InterruptedException f){}
bildBreite=bild.getWidth(this);
bildHoehe=bild.getHeight(this);
}
public void paintComponent(Graphics g)
{
super.paintComponents(g);
if(bild!=null)
g.drawImage(bild,20,20,this);
}
public Dimension getPreferredSize()
{
return getMinimumSize();
}
public Dimension getMinimumSize()
{
return new Dimension(bildBreite,bildHoehe);
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
this.setEnabled(true);
this.setSize(new Dimension(1030, 750));
this.setTitle("Animation");
jPanel1.setBackground(Color.black);
jButton1.setText("Schrittweise");
jButton2.setText("Automatisch");
jButton3.setText("Neustart");
jButton4.setText("Szeneraio");
jButton5.setText("Beenden");
jPanel2.setBackground(Color.black);
contentPane.add(jPanel1, BorderLayout.NORTH);
jPanel1.add(jButton1, null);
jPanel1.add(jButton2, null);
jPanel1.add(jButton3, null);
jPanel1.add(jButton4, null);
jPanel1.add(jButton5, null);
contentPane.add(jPanel2, BorderLayout.CENTER);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}