Mam następujący kod:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getSize(new Dimension(300, 300) );
contentPane = new JPanel();
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
JPanel panel1 = new JPanel();
contentPane.add(panel1, BorderLayout.NORTH);
Rysowanie rysowanie = new Rysowanie();
panel1.add(rysowanie);
}
}
class Rysowanie extends JPanel {
public Rysowanie(){
this.setSize(new Dimension(300, 300));
}
public void paint(Graphics g){
g.clearRect(0, 0, getSize().width, getSize().height);
g.fillRect(0, 0, 100, 100);
}
}
Jak widać tworzę jeden wielki panel o layoucie "BorderLayout". Następnie dodaję do niego panel Rysowanie. Powinien on wyświetlić kwadrat o wymiarach 100x100px. Tak jednak się nie dzieje. Panel ten jest tak jakby przycięty. Jak sprawić, by panel Rysowanie był wyświetlany w pełnych wymiarach?