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

admin2009-01-15  45

问题 请完成下列Java程序:用一个边框布局来安排一个工具栏和一个卡片布局。工具栏可浮动,包括两个按钮,一个向前一个向后控制卡片的显示;卡片布局包括3张卡片,分别标识为card1、card2、card3。
   注意;请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
   源程序代码文件清单如下:
   import java.awt.*;
   import java.awt.event.*;
   import javax.swing.*;
   import javax.swing.border.LineBorder;
   public class ex20_2
   {
       private static CardLayout cl=new CardLayout();
       private static JPanel cp=new JPanel();
       public static void main(String args[])
       {
           JFrame jf=new JFrame();
           jf.setTitle("ex20_2");
           Container c=jf.getContentPane();
           JToolBar jtb=new JToolBar();
           JButton btnNext=new JButton(new Imagelcon("next.gif"));
           JButton btnPre=new JButton(new ImageIcon("back.gif"));
           jtb.add(btnPre);
           jtb.add(btnNext);
           cp.setLayout(c1);
           Dimension dim=new Dimension(150,80);
           cp.setPreferredSize(dim);
           cp.setBorder(new LineBorder(Color.BLACK));
           cp.add(new JLabel("card1",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();
           ______;
           ______;
           if.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"))
                   c1.next(cp);
               else
                   c1.previous(cp);
           }
       }
   }

选项

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

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

最新回复(0)