W jaki sposób dodać dwa panele do jednego frame'a ?
W poniższy sposób MyPanel3 jest wyświetlany w oknie, ale MyPanel2 już nie - po mimo, że według parametrów setBounds() nie powinny się przesłaniać.
package my;
import javax.swing.*;
import java.awt.*;
public class Main2 {
public static void main(String args[]) {
new MyFrame2();
}
}
class MyFrame2 extends JFrame {
MyFrame2() {
setVisible(true);
setBounds(500, 100, 400, 300);
setTitle("Lab 1");
getContentPane().add(new MyPanel2());
getContentPane().add(new MyPanel3());
}
}
class MyPanel2 extends JPanel {
MyPanel2() {
setLayout(null);
}
public void paintComponent(Graphics gp) {
super.paintComponent(gp);
setBounds(250, 10, 100, 100);
setBackground(Color.darkGray);
repaint();
}
}
class MyPanel3 extends JPanel {
MyPanel3() {
setLayout(null);
}
public void paintComponent(Graphics gp) {
super.paintComponent(gp);
setBounds(10, 10, 100, 100);
setBackground(Color.red);
repaint();
}
}