Witam ma nastepujacy problem chce aby mi na ekranie wyswietlil sie zaimportowany z pliku obrazek
Okno glowne
import java.awt.*;
public class Gra extends javax.swing.JFrame {
/** Creates new form Gra */
public Gra() {
initComponents();
Plansza plansza = new Plansza();
Container zawartosc = getContentPane();
zawartosc.add(plansza);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setPreferredSize(new java.awt.Dimension(800, 600));
jButton1.setText("jButton1");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(517, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(58, 58, 58))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(57, 57, 57)
.addComponent(jButton1)
.addContainerGap(295, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 676, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 381, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Gra gierka = new Gra();
gierka.setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
}
I klasa za pomoca ktorej chce wyswietlic obrazek
import javax.swing.*;
import java.awt.*;
public class Plansza extends JPanel {
private Image obraz;
public Plansza()
{
setSize(560,560);
obraz = Toolkit.getDefaultToolkit().getImage("chinol.jpg");
MediaTracker trop = new MediaTracker(this);
trop.addImage(obraz, 0);
try{trop.waitForID(0);}
catch(InterruptedException exc){}
System.out.println("dupa");
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(obraz, 0, 0, null);
}
}
W tym celu tworze sobie okno glowne a niego naciagam panel1, wstawiam buttona no chce aby mi wyswietlilo ten obrazek z pliku.... wszystko sie dzieje czyli laduje sie ekran glowny button ale obrazek juz nie czy ma ktos pomysl co i gdzie jest nie tak??
Pytanko 2 jezeli w konstruktorze klasy Plansza podaje setSize(x,y) to podaje wymiary panelu na ktorym wyswietlony zostanie obrazek??
Pozdrawiam