package com.fan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.border.*;
class MyWin  extends JFrame implements ActionListener{
JTabbedPane tabbedPane;
JPanel flowLayoutPanel,gridLayoutPanel,borderLayoutPanel,cardLayoutPanel,nullLayoutPanel,gridbagLayoutPanel,
upPanel,downPanel;
JButton firstButton,prevButton,nextButton,lastButton;
CardLayout card=new CardLayout();
public MyWin(){
tabbedPane =new JTabbedPane(JTabbedPane.LEFT);
FlowLayout flow=new FlowLayout(FlowLayout.LEFT,10,4);
flowLayoutPanel=new JPanel();
flowLayoutPanel.setLayout(flow);
JButton b1=new JButton(new ImageIcon("com.fan.bb.jpg"));
JButton b2=new JButton(new ImageIcon("./jj.jpg"));
JButton b3=new JButton(new ImageIcon("swing.src.com.fan.hh.jpg"));
JButton b4=new JButton(new ImageIcon("yy.jpg"));
JButton b5=new JButton(new ImageIcon("nn.jpg"));
flowLayoutPanel.add(b1);
flowLayoutPanel.add(b2);
flowLayoutPanel.add(b3);
flowLayoutPanel.add(b4);
flowLayoutPanel.add(b5);
tabbedPane.add("观看FlowLayout布局",flowLayoutPanel);
GridLayout grid=new GridLayout(2,3,8,6);
gridLayoutPanel=new JPanel();
gridLayoutPanel.setLayout(grid);
JButton b6=new JButton(new ImageIcon("com.fan.bb.jpg"));
JButton b7=new JButton(new ImageIcon("./jj.jpg"));
JButton b8=new JButton(new ImageIcon("hh.jpg"));
JButton b9=new JButton(new ImageIcon("yy.jpg"));
JButton b10=new JButton(new ImageIcon("nn.jpg"));
JButton b11=new JButton(new ImageIcon("hh.jpg"));
gridLayoutPanel.add(b6);
gridLayoutPanel.add(b7);
gridLayoutPanel.add(b8);
gridLayoutPanel.add(b9);
gridLayoutPanel.add(b10);
gridLayoutPanel.add(b11);
tabbedPane.add("观看GridLayout布局",gridLayoutPanel);
BorderLayout border=new BorderLayout(7,5);
borderLayoutPanel=new JPanel();
borderLayoutPanel.setLayout(border);
JButton b12=new JButton("South");
JButton b13=new JButton("North");
JButton b14=new JButton("East");
JButton b15=new JButton("West");
JLabel jlb=new JLabel(new ImageIcon("fuwa.gif"));
borderLayoutPanel.add(b12,"South");
borderLayoutPanel.add(b13,"North");
borderLayoutPanel.add(jlb,"Center");
borderLayoutPanel.add(b14,"East");
borderLayoutPanel.add(b15,"West");
tabbedPane.add("观看BorderLayout布局",borderLayoutPanel);
cardLayoutPanel =new JPanel();
upPanel=new JPanel();
downPanel=new JPanel();
BorderLayout bd=new BorderLayout();
cardLayoutPanel.setLayout(bd);
firstButton=new JButton("first");
prevButton=new JButton("prev");
nextButton=new JButton("next");
lastButton=new JButton("last");
JLabel oneLabel =new JLabel(new ImageIcon("bb.gif"),JLabel.CENTER);
JLabel twoLabel =new JLabel(new ImageIcon("jj.gif"),JLabel.CENTER);
JLabel threeLabel =new JLabel(new ImageIcon("hh.gif"),JLabel.CENTER);
JLabel fourLabel = new JLabel(new ImageIcon("yy.gif"),JLabel.CENTER);
JLabel fiveLabel =new JLabel(new ImageIcon("nn.gif"),JLabel.CENTER);
upPanel.setLayout(card);
upPanel.add("one",oneLabel);
upPanel.add("two",twoLabel);
upPanel.add("thress",threeLabel);
upPanel.add("four",fourLabel);
upPanel.add("five",fiveLabel);
cardLayoutPanel.add(upPanel,"Center");
downPanel.add(firstButton);
downPanel.add(prevButton);
downPanel.add(nextButton);
downPanel.add(lastButton);
cardLayoutPanel.add(downPanel,"South");
firstButton.addActionListener(this);
prevButton.addActionListener(this);
nextButton.addActionListener(this);
lastButton.addActionListener(this);
tabbedPane.add("观看CardLayout布局",cardLayoutPanel);
GridBagLayout gridbag=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();
gridbagLayoutPanel=new JPanel();
gridbagLayoutPanel.setLayout(gridbag);
JButton b16=new JButton("按钮1");
JButton b17=new JButton("按钮2");
JButton b18=new JButton("按钮3");
JButton b19=new JButton("按钮4");
JButton b20=new JButton("按钮5");
JButton b21=new JButton("按钮6");
JButton b22=new JButton("按钮7");
JButton b23=new JButton("按钮8");
JButton b24=new JButton("按钮9");
JButton b25=new JButton("按钮10");
c.fill=GridBagConstraints.BOTH;
c.anchor=GridBagConstraints.CENTER;
c.weightx=1.0;
gridbag.setConstraints(b16, c);
gridbagLayoutPanel.add(b16);
gridbag.setConstraints(b17, c);
gridbagLayoutPanel.add(b17);
gridbag.setConstraints(b18, c);
gridbagLayoutPanel.add(b18);
c.gridwidth=GridBagConstraints.REMAINDER;
gridbag.setConstraints(b19, c);
gridbagLayoutPanel.add(b19);
c.weightx=0.0;
gridbag.setConstraints(b20, c);
gridbagLayoutPanel.add(b20);
c.gridwidth=GridBagConstraints.RELATIVE;
gridbag.setConstraints(b21, c);
gridbagLayoutPanel.add(b21);
c.gridwidth=GridBagConstraints.REMAINDER;
gridbag.setConstraints(b22, c);
gridbagLayoutPanel.add(b22);
c.gridwidth=1;
c.gridheight=2;
c.weighty=1.0;
gridbag.setConstraints(b23,c);
gridbagLayoutPanel.add(b23);
c.weighty=0.0;
c.gridwidth=GridBagConstraints.REMAINDER;
c.gridheight=1;
gridbag.setConstraints(b24, c);
gridbagLayoutPanel.add(b24);
gridbag.setConstraints(b25,c);
gridbagLayoutPanel.add(b25);
tabbedPane.add("观看GridbagLayout布局",gridbagLayoutPanel);
nullLayoutPanel=new JPanel();
nullLayoutPanel.setLayout(null);
JButton b26=new JButton(new ImageIcon("bb.jpg"));
JButton b27=new JButton(new ImageIcon("jj.jpg"));
JButton b28=new JButton(new ImageIcon("hh.jpg"));
JButton b29=new JButton(new ImageIcon("yy.jpg"));
JButton b30=new JButton(new ImageIcon("nn.jpg"));
nullLayoutPanel.add(b26);
nullLayoutPanel.add(b27);
nullLayoutPanel.add(b28);
nullLayoutPanel.add(b29);
nullLayoutPanel.add(b30);
b26.setBounds(50,50,100,75);
b27.setBounds(80,100,100,75);
b28.setBounds(110,150,100,75);
b29.setBounds(140,200,100,75);
b30.setBounds(170,250,100,75);
tabbedPane.add("观看null布局",nullLayoutPanel);
tabbedPane.validate();
Container con=getContentPane();
con.add(tabbedPane,BorderLayout.CENTER);
con.validate();
setBounds(100,100,600,400);
setTitle("布局演示");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


}
public void actionPerformed(ActionEvent e){
if(e.getSource()==firstButton)
card.first(upPanel);
else if(e.getSource()==nextButton)
card.next(upPanel);
else if(e.getSource()==prevButton)
card.previous(upPanel);
else if(e.getSource()==lastButton)
card.last(upPanel);

}
}
public class LayoutExample{
public static void main(String[] args) {
new MyWin();
}
}