counter学习笔记

1.void actionPerformed(ActionEvent event){
         Object temp=event.getSource();}
   a.是一个监听方法,发生操作时(点击鼠标)自动得到事件对象event
   b.通过temp=event.getSource()获得实例对(例如temp得到为JButton类型的按钮对象)
   c..getSource()返回发生事件的对象
   d.temp为Object型,是临时对象,具体类型还没实现
2.使用JFrame类创建窗口(有两种方法)
  a.new一个JFrame对象
     JFrame frame=new JFrame("标题(String型)");
      //frame是一个框架,不能直接调用add方法添加Swing组件,得借助contentPane容器 (适用java1.4版本前)
     frame.getContentPane().add(panel);
      //点击关闭时关闭窗口
     frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
     //pack()自动适应提交容器的尺寸(来自java.awt.window.pack())
     frame.pack();
     frame.setVisible(true);
  b.使用类继承JFrame
     public class MyFrame extends JFrame {
            public MyFrame(){
               this.setTitle("标题");
               this.setLocation(width,height);
               this.setSize(width,height);
                //*设置窗口大小并居中(融合上面两个方法的又一方法)
               setSizeCentralizeMe(width,height);
                //设置窗口是否可用,boolean=true or false
               setVisible(boolean);
            }
      }
3.ActionListener的三种实现方法
  a.只设置一个监听器
    void actionPerformed(ActionEvent e){
      //利用getActionCommand获得按钮名称
      //或利用getSource方法获得对象
      //再利用if来对每个按钮来判断
      String buttonName=e.getActionCommand();
      if(buttonName.equal("按钮1")){
         //do something
      }
      if(e.getSource()==button1){
         //do something
      }
    }
   b.设置匿名内部类监听
     //不建议使用,不利于阅读和维护
     如:button1.addActionListener(
            new ActionListener(){
                public void actionPerformed(ActionEvent e){
                       //do something
                }
            }
    c.使用一般命名的内部类
      //推荐使用
      如:public class Button1Handler implements ActionListener{//注意!没有括号的
                public void actionPerformed(ActionEvent e){
                       //do something
                }
         }
       //对每个组件注册内部监听类
       如:button1.addActionListener(new Button1Handler());
4.一些窗口组件(大多位于awt和swing包)
  a.单行文本输入框 JTextField
    JTextField()里面可有以下参数或为空:
    int lenght  //构造指定参数长度的单行文本框
    String text  //构造指定初始内容的单行文本框
    String text,int lenght  //构造指定初始内容和参数长度的单行文本框
    Document docu,String text,int lenght    //指定文件储存模式并构造指定初始内容和参数长度的单行文本框
  b.多行文本输入框 JTextArea
    JTextArea();
    JTextArea(int row,int column);
    JTextArea(String text);
    JTextArea(String text,int row,int column);
    JTextArea(Document doc);
    JTextArea(Document doc,String text,int row,int column);
  c.JFrame,JPanel,JButton,JLabel的关系
    JFrame相当于桌子,JPanel相当于桌布,JButton,JLabel等相当于杯子碗筷;
    进行界面布局的正确做法:
    (1)使用Container content=this.getContentPanel();得到容器
    (2)实例化一个JPanel,如:JPanel panel1=new JPanel();
    (3)实例化组件,如JButton等
    (4)使用panel1.add()方法添加组件
    (5)定位如:JButton1.setBounds(0,0,23,24);//这里的坐标是指相对所在容器panel1
  d.setBounds(int x,int y,int row,int column)的用法
    (1)x,y的坐标是指相对所在容器,row,column指该组件的大小;
    (2)如果是布局,则需要把上一阶的布局管理器设为null
       如:JPanel jp=new JPanel(null);
          JButton jb1=new JButton("button1");
          JButton jb2=new JButton("button2");
          jb1.setBounds(30,30,50,20);
          jb2.setBounds(30,100,50,20);
          jp.add(jb1);
          jp.add(jb2);
5.窗口菜单
  a.JMenuBar,JMenu,JMenuItem
    (1)分别对应菜单条,菜单和菜单项(可以给JMenuItem注册监听器,而JMenuBar,JMenu不能)
    (2)构造JMenuBar实例后,要将其设置为窗口的菜单条
       JMenuBar menubar=new JMenuBar();
       Frame.setJMenuBar(menubar);  //注意用的是set方法
    (3)构造JMenu实例后,要将其设置为菜单条的菜单
       JMenu menu=new JMenu();
       menubar.addJMenu(menu);  //注意用的是add方法
    (4)构造JMenuItem实例后,要将其设置为菜单的菜单项
       JMenuItem menuitem=new JMenuItem();
       menu.addJMenu(menuitem);  //注意用的是add方法
       *注意:菜单中添加的对象也可以为菜单,分割符。
6.ScrollPane的使用
  ScrollPane scrollpane=new ScrollPane(p1);
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值