Witam. Zaczynam bawić się Swingiem i mój problem wygląda tak, że nie wyświetlają mi się jakiekolwiek obrazki. Oto przykładowy kod (dodawanie obrazka do "panelu zachodniego"), trzy pliki:
import java.awt.*;
import javax.swing.*;
public class Program {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
Ramka frame = new Ramka();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
import java.awt.*;
import javax.swing.*;
public class Ramka extends JFrame {
public Ramka() {
setSize(500, 400);
JPanel panelPolnocny = new JPanel();
JPanel panelPoludniowy = new JPanel();
JPanel panelWschodni = new JPanel();
JPanel panelZachodni = new JPanel();
JPanel panelCentralny = new JPanel();
panelPolnocny.setBackground(Color.RED);
panelPoludniowy.setBackground(Color.BLUE);
panelWschodni.setBackground(Color.CYAN);
panelZachodni.setBackground(Color.GREEN);
panelCentralny.setBackground(Color.BLACK);
ImageComponent1 component = new ImageComponent1();
panelZachodni.add(component);
add(panelPolnocny, BorderLayout.NORTH);
add(panelPoludniowy, BorderLayout.SOUTH);
add(panelWschodni, BorderLayout.EAST);
add(panelZachodni, BorderLayout.WEST);
add(panelCentralny, BorderLayout.CENTER);
}
}
import java.awt.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class ImageComponent1 extends JComponent {
Image image;
public ImageComponent1() {
try {
image = ImageIO.read(new File("obrazek.png"));
}
catch (IOException e) {
}
}
public void paintComponent(Graphics g) {
if(image == null) return;
g.drawImage(image, 0, 0, null);
}
}
Kodzę pod NB. Plik "obrazek" jest wrzucony do odpowiedniego katalogu. Any idea ?