jestem trochę początkujący w Javie i chyba nie rozwiążę tego problemu do czasu wydania Ubuntu 12
mam sobie JPanel, którego chcę przerobić na komponent (fasolkę ?) do wyświetlania obrazków, coś jak TImage z Delphi. Wszystko działa dobrze pod warunkiem że mój panel jest pozycjonowany za pomocą jakiegokolwiek layoutu. Jeżeli na oknie które ma zawierać mój panel nie ma żadnego laya (setLayout(null)) to po prostu nic się nie wyświetla
Kod: Zaznacz cały
class MyImage extends JPanel{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(picture, 0, 0, this);
System.out.println("działa");
}
}
//A - obrazek rysowany jest poprawnie
setLayout(new BorderLayout());
image = new MyImage();
add(image, BorderLayout.CENTER);
//B - obrazka ani nawet komponentu nie widać
setLayout(null);
image = new MyImage();
image.setBounds(2, 2, 177, 250);
add(image);