Coś takiego? http://imageshack.us/photo/my-images/545/przykadj.jpg/
W każdym razie tu masz kod
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JFrameTest extends JFrame
{
public JFrameTest()
{
initComponents();
}
private void initComponents()
{
setLayout(null);
setPreferredSize(new Dimension(400, 400));
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanelOne();
panel.setBackground(Color.BLACK);
panel.setBounds(200, 200, 200, 200); // gdy zadeklarujemy setLayout(null) należy powiedzieć, gdzie dodawany komponent ma leżeć
add(panel);
panelMain = new JPanel();
panelMain.setBackground(Color.WHITE);
panelMain.setBounds(0, 0, 200, 200);
panelMain.setPreferredSize(new Dimension(200, 200));
add(panelMain);
testButton = new JButton("Test12");
panelMain.add(testButton);
pack();
}
public static void main(String[] arguments)
{
JFrameTest frame = new JFrameTest();
frame.setVisible(true);
}
private javax.swing.JButton testButton;
private javax.swing.JPanel panelMain;
private JPanelOne panel;
}
I kod Twojej klasy z panelem:
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JPanel;
public class JPanelOne extends JPanel
{
public JPanelOne()
{
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(200, 200));
panel.setBackground(Color.BLACK);
JButton button = new JButton("test");
panel.add(button);
add(panel);
}
}
Pozdrawiam. A btw jak dodajesz jakieś obiekty na panele, albo w ogóle do jframe'a to myślę, że dobrym wyborem będzie GroupLayout. Troszkę jest z nim zabawy, ale ładnie można wszystko poustawiać :)
PS aha, a jak chcesz, żeby panel czarny znajdował się "W" panelu białym, to napisz w głównej klasie tak:
private void initComponents()
{
setLayout(null);
setPreferredSize(new Dimension(400, 400));
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panelMain = new JPanel();
panelMain.setBackground(Color.WHITE);
panelMain.setBounds(0, 0, 200, 200);
panelMain.setPreferredSize(new Dimension(200, 200));
add(panelMain);
// Zwróć uwagę, że element, który dodaję do głównego panelu tworzę i dodaję po utworzeniu głównego panelu
panel = new JPanelOne();
panel.setBackground(Color.BLACK);
panel.setBounds(200, 200, 200, 200);
panelMain.add(panel);
testButton = new JButton("Test12");
panelMain.add(testButton);
pack();
}
Pozdro