witam,
mam problem z wyświetlaniem grafiki.
Mam ramkę (Ramka), w niej JPanel (panel)i w tym panelu próbuję ustawić inny JPanel (Rysunek) z grafiką (tu dla uproszcznia niech będzie zwykły kwadrat), ale nie działa. Nie działa również, gdy Rysunek to JComponent, ale wyświetla się gdy Rysunek dodaję bezpośrednio do ramki a nie innego panelu.
Zupełnie nie wiem czemu i bardzo proszę o pomoc.
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class test{
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable(){
public void run(){
JFrame ramka=new Ramka();
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ramka.setVisible(true);
}
});
}
}
class Ramka extends JFrame{
public Ramka(){
setSize(200,200);
add(new panel()); // działa jeśli zamienić na: add(new Rysunek());
}
}
class panel extends JPanel{
public panel(){
add(new Rysunek());
}
}
class Rysunek extends JPanel{
public Rysunek(){
setSize(100,100);
}
public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D)g;
g2.drawRect(50, 50, 30, 30);
}
}
Pozdrawiam
Tomek