请完成下列Java程序:用一个边框布局来安排一个工具栏和一个卡片布局。工具栏可浮动,包括2个按钮,一个向前一个向后控制卡片的显示;卡片布局包括3张卡片,分别标识为card1,card2,card3。 注意;请勿改动main()主方法和其他已有语句内容

admin2009-01-15  26

问题 请完成下列Java程序:用一个边框布局来安排一个工具栏和一个卡片布局。工具栏可浮动,包括2个按钮,一个向前一个向后控制卡片的显示;卡片布局包括3张卡片,分别标识为card1,card2,card3。
   注意;请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
   程序运行结果如下:
   
   import java.awt.*;
   import java.awt.event.*;
   import javax.swing.*;
   import javax.swing.border. LineBorder;
   public class ex24_2{
     private static CardLayout cl=new CardLayout();
     private static JPanel cp=new JPanel();
     public static void main(String[] args){
       JFrame if=new JFrame();
       jf.setTitle("ex24_2");
       Container c=jf.getContentPane();
       JToolBar jtb=new JToolBar();
       JButton btnNext=new JButton(new ImageIcon("next.gif"));
       JButton btnPre=new JButton(new ImageIcon("back.gif"));
       jtb.add(btnPre);
       jtb.add(btnNext);
       cp.setLayout(cl);
       Dimension dim=new Dimension(150,80);
       cp.setPreferredSize(dim);
       cp.setBorder(new LineBorder(Color. BLACK));
       cp.add(new JLabel("cardl",JLabel.CENTER),"card1");
       cp.add(new JLabel("card2",JLabel.CENTER),"card2");
       cp.add(new JLabel("card3",JLabel.CENTER),"card3");
       c.add(jtb,BorderLayout.NORTH);
       c.add(cp,BorderLayout.CENTER);
       ActionListener al=new ActionResponse();
       ____________________________________;
       ____________________________________;
       jf.addWindowListener(new WindowAdapter(){
          public void windowClosing(WindowEvent we){
            System.exit(0);
          }
       });
       jf.pack();
       jf.setVisible(true);
   }      
   static class ActionResponse implements ActionListener{
       public void actionPerformed(ActionEvent ae){
          if(ae.getActionCommand().equals("next"))
            cl.next(cp);
          else
            cl.previous(cp);
       }
     }
   }

选项

答案btnNext.addActionListener(al) btnPre.addActionListener(al)

解析 本题主要考查工具栏和卡片布局的基本使用。解题关键是熟悉工具栏的设计和卡片布局的管理,熟悉事件处理机制,会制作图像按钮,会制作自己的事件监听器类。本题中,第1个空和第2个空都是需要填入注册监听器的语句,这里向前和向后2个按钮共用一个监听器,此监听器对象负责判断和处理相应的操作。
转载请注明原文地址:https://kaotiyun.com/show/ULnp777K
0

最新回复(0)