我这里实现了java awt的4中排布。BoderLayout * FlowLayout * GridLayout *CardLayout。
将这4种排布集中体现在一个图形界面上。
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class YourFrame extends Frame {
private Panel borderPanel;
private Panel flowPanel;
private Panel gridPanel;
private Panel cardPanel;
public YourFrame(String title){
super(title);
setSize(600,400);
setVisible(true);
setLocation(300,200);
setBoderLayoutPanel();
setFlowLayoutPanel();
setGridLayoutPanel();
setCardLayoutPanel();
setLayout(new GridLayout(2,2));
add(borderPanel);
add(flowPanel);
add(gridPanel);
add(cardPanel);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void setBoderLayoutPanel(){
borderPanel=new Panel();
borderPanel.setLayout(new BorderLayout());
Button btn1=new Button("North");
Button btn2=new Button("South");
Button btn3=new Button("West");
Button btn4=new Button("East");
Button btn5=new Button("Center");
borderPanel.add(btn1,BorderLayout.NORTH);
borderPanel.add(btn2,BorderLayout.SOUTH);
borderPanel.add(btn3,BorderLayout.WEST);
borderPanel.add(btn4,BorderLayout.EAST);
borderPanel.add(btn5,BorderLayout.CENTER);
}
public void setFlowLayoutPanel(){
flowPanel=new Panel();
flowPanel.setLayout(new FlowLayout());
Button btn1=new Button("mybole");
btn1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
((Button) e.getSource()).setLabel("我爱你");
}
});
Button btn2=new Button("winter");
flowPanel.add(btn1);
flowPanel.add(btn2);
}
public void setGridLayoutPanel(){
gridPanel=new Panel();
gridPanel.setLayout(new GridLayout(2,2));
Button btn1=new Button("Button1");
Button btn2=new Button("Button2");
Button btn3=new Button("Button3");
Button btn4=new Button("Button4");
gridPanel.add(btn1);
gridPanel.add(btn2);
gridPanel.add(btn3);
gridPanel.add(btn4);
}
public void setCardLayoutPanel(){
final CardLayout c1=new CardLayout();
cardPanel=new Panel();
cardPanel.setLayout(c1);
Button btn1=new Button("黑桃A");
Button btn2=new Button("红桃K");
ActionListener a1=new ActionListener()
{
public void actionPerformed(ActionEvent e) {
c1.next(cardPanel);
}
};
btn1.addActionListener(a1);
btn2.addActionListener(a1);
cardPanel.add(btn1,"l");
cardPanel.add(btn2,"k");
}
public static void main(String[]args){
YourFrame ft=new YourFrame("我的新窗口");
ft.show();
}
}