日期:2014-05-20 浏览次数:20775 次
class MyPanel extends Panel{
void go(){
this.setLayout(new BorderLayout());
Panel p1=new Panel();//背景
Panel p2=new Panel();
this.add(p1);
p1.setLayout(new GridLayout(3,3));
p1.add(p2,5);
}
}
------解决方案--------------------
class MyPanel extends Panel{
void go(){
this.setLayout(new BorderLayout());
Panel p1=new Panel();//背景
Panel p2=new Panel();
this.add(p1);
p1.setLayout(new GridLayout(3,3));
p1.add(p2,5);
}
}
------解决方案--------------------
两个panel的载体都是同一个Panel
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class SubPanel extends JFrame {
private JPanel backPanel = new JPanel();
private JPanel forePanel = new JPanel();
public SubPanel() {
Container contentPane = this.getContentPane();
contentPane.add(backPanel);
backPanel.setSize(300, 300);
backPanel.setBackground(Color.BLUE);
forePanel.setPreferredSize(new Dimension(50, 50));
forePanel.setSize(new Dimension(50, 50));
JButton button = new JButton("JButton");
button.setBackground(Color.RED);
button.setForeground(Color.YELLOW);
forePanel.add(button);
contentPane.add(forePanel);
forePanel.setOpaque(false);
contentPane.setComponentZOrder(forePanel, 0);
}
/**
* @param args
*/
public static void main(String[] args) {
SubPanel sp = new SubPanel();
sp.setVisible(true);
sp.setSize(300, 300);
sp.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
------解决方案--------------------
JPanel jPanel1=new JPanel();
JPanel jPanelA=new JPanel();
JPanel jPanelB=new JPanel();
JButon jButton1=new JButton();
JButon jButton2=new JButton();
JLabel jLabel1=new JLabel();
JLabel jLabel2=new JLabel();
jPanelB.add(jLabel1);
jPanelB.add(jLabel2);
jPanelB.add(jButton1);
jPanelB.add(jButton2);
jPanel1.add(jPanelA);
jPanelA.add(jPanelB);
//再设置一下各JPanel组件的Layout