📄 chap11-6.txt
字号:
// 程序11-6
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class testCardLayout implements ActionListener{
JFrame frame;
Container contentPane;
JPanel deck;
CardLayout cardManager; // CardLayout对象
JButton buttons[ ];
String names[ ]={"First","Next","Previous","Last"};
public testCardLayout( ){ // testCardLayout的构造函数
frame=new subJFrame("testCardLayout");
contentPane=frame.getContentPane( );
deck= new JPanel( );
cardManager=new CardLayout( ); // 定义一个布局管理器
deck.setLayout(cardManager); // 设置内容格的布局
JPanel card1=new JPanel( ); // 定义第1张卡片
JLabel lab1=new JLabel("卡片一"); // 上面仅有一个标签
card1.add(lab1);
deck.add(card1,lab1.getText( )); // 将第1张卡片加入deck面板
JPanel card2=new JPanel( ); // 定义第2张卡片
JTextField field=new JTextField("卡片二");
card2.add(field);
deck.add(card2,field.getText( )); // 将第2张卡片加入deck面板
JPanel card3=new JPanel( ); // 定义第3张卡片
JLabel lab3=new JLabel("卡片三");
card3.setLayout(new BorderLayout( ));
card3.add(new JButton("北"),BorderLayout.NORTH);
card3.add(new JButton("南"),BorderLayout.SOUTH);
card3.add(new JButton("西"),BorderLayout.WEST);
card3.add(new JButton("东"),BorderLayout.EAST);
card3.add(lab3,BorderLayout.CENTER);
deck.add(card3,lab3.getText( )); // 将第3张卡片加入deck面板
// 创建控制面板
JPanel controls=new JPanel( );
controls.setLayout(new GridLayout(2,2));
buttons=new JButton[names.length];
for(int i=0;i<names.length;i++){
buttons[i]=new JButton(names[i]);
buttons[i].addActionListener(this);
controls.add(buttons[i]); // 将按钮加入controls面板
}
// 将controls 和 deck加入到内容格
contentPane.add(controls , BorderLayout.WEST);
contentPane.add(deck , BorderLayout.EAST);
frame.setSize(350,200);
frame.show( );
}
public void actionPerformed(ActionEvent evt){
if(evt.getSource( )==buttons[0]) // 显示第一张卡片
cardManager.first(deck);
else if(evt.getSource( )==buttons[1]) // 显示下一张卡片
cardManager.next(deck);
else if(evt.getSource( )==buttons[2]) // 显示前一张卡片
cardManager.previous(deck);
else if(evt.getSource( )==buttons[3]) // 显示最后一张卡片
cardManager.last(deck);
}
public static void main(String args[ ]){
testCardLayout obj=new testCardLayout( );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -