为什么JFrame只能放入两个JPanel
代码如下,不知道为什么,只能显示第一个jpanel和最后一个jpanel,这是为什么,高手帮帮忙
package swing;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class test2 extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
private JFrame frame;
public test2() {
// TODO Auto-generated constructor stub
frame = new JFrame();
//panel=(JPanel) frame.getContentPane();
//JPanel panel=new JPanel();
//panel.setLayout(new FlowLayout());
//panel.setOpaque(false);
JPanel jPanel=new JPanel();
JPanel jPanel2=new JPanel();
JPanel jPanel3=new JPanel();
JPanel jPanel4=new JPanel();
jPanel.setLayout(null);
jPanel2.setLayout(null);
jPanel3.setLayout(null);
jPanel4.setLayout(null);
jPanel.setSize(500, 200);
jPanel2.setSize(500, 200);
jPanel3.setSize(500, 200);
jPanel4.setSize(500, 100);
//jPanel.setBounds(100, 0, 100, 20);
JButton jButton=new JButton("第一个jpanel");
JButton jButton2=new JButton("第二个jpanel");
JButton jButton3=new JButton("第三个jpanel");
JButton jButton4=new JButton("第四个jpanel");
jButton.setBounds(0, 0, 200, 20);
jButton2.setBounds(0, 200, 200, 20);
jButton3.setBounds(0, 400, 200, 20);
jButton4.setBounds(0, 600, 200, 20);
jPanel.add(jButton);
jPanel2.add(jButton2);
jPanel3.add(jButton3);
jPanel4.add(jButton4);
jPanel.setBackground(Color.blue);
jPanel2.setBackground(Color.white);
jPanel3.setBackground(Color.yellow);
jPanel4.setBackground(Color.gray);
frame.add(jPanel);
frame.add(jPanel2);
frame.add(jPanel3);
frame.add(jPanel4);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 700);
frame.setVisible(true);
}
public static void main(String[] args) {
new test2();
}
}
------解决方案--------------------Java code
package novemberTestDay;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame {
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Test frame = new Test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame
*/
public Test() {
super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.NORTH);
final JPanel panel_1 = new JPanel();
panel.add(panel_1);
final JButton button = new JButton();
button.setText("New JButton");
panel_1.add(button);
final JPanel panel_2 = new JPanel();
panel.add(panel_2);
final JButton button_1 = new JButton();
button_1.setText("New JButton");
panel_2.add(button_1);
final JPanel panel_3 = new JPanel();
panel.add(panel_3);
final JButton button_2 = new JButton();
button_2.setText("New JButton");
panel_3.add(button_2);
final JPanel panel_4 = new JPanel();
panel.add(panel_4);
final JButton button_3 = new JButton();
button_3.setText("New JButton");
panel_4.add(button_3);
//
}
}