窗口实训1

package day39;
import java.awt.*;

import  javax.swing.*;
public class windows {
      JFrame jf;
      JPanel jp,jp1;
      JButton jb;
      JTextField jt;
      JLabel jl;
      public windows(){
          jf=new JFrame("计算器");
          jp=new JPanel(new GridLayout(4,4));
          jt=new JTextField(10);
          jf.add(jt,BorderLayout.NORTH);
          for(int i=7;i<=9;i++){
          jp.add(new JButton(""+i));
          }
          jp.add(new JButton("/"));
          for(int i=4;i<7;i++){
              jp.add(new JButton(""+i));
          }
          jp.add(new JButton("*"));
          for(int i=1;i<4;i++){
              jp.add(new JButton(""+i));
          }
          jp.add(new JButton("-"));
          jp.add(new JButton("0"));
          jp.add(new JButton("."));
          jp.add(new JButton("="));
          jp.add(new JButton("+"));
          jf.add(jp,BorderLayout.CENTER);
          jf.add(jp);
          jf.setSize(400,300);
          jf.setVisible(true); 
      }
      public static void main(String[] args ){
          new windows();
      }
}

package day39;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
public class windows1 {
      JFrame jf;
      JPanel jp,jp1;
      JButton jb,jb1,jb2;
      JTextField jt;
      JLabel jl;
      public windows1(){
          jf=new JFrame();
          jp=new JPanel();
          jp1=new JPanel(new FlowLayout());
          jb=new JButton("红色");
          jb.addActionListener(new ActionListener(){
              public void actionPerformed(ActionEvent e) {
                  jp.setBackground(Color.red);
              }
              
          });
          jb1=new JButton("绿色");
          jb1.addActionListener(new ActionListener(){
              public void actionPerformed(ActionEvent e) {
                  jp.setBackground(Color.green);
              }
              
          });
          jb2=new JButton("蓝色");
          jb2.addActionListener(new ActionListener(){
              
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO 自动生成的方法存根
                jp.setBackground(Color.blue);
            }
              
          });
          jp1.add(jb);
          jp1.add(jb1);
          jp1.add(jb2);
          jf.add(jp1,BorderLayout.NORTH);
          jf.add(jp,BorderLayout.CENTER);
          jf.setSize(400,300);
          jf.setVisible(true);
          
          
          
          

          
      }
     public static void main(String[] args){
         new windows1();
     }
   
}

 

总结:通过本次的学习和上机实践,对java 中swing窗口组件有了新的认识。在第一个程序中:1:面对需要多个按钮组件或其他组件时,我们可以不必要定义多个,可以直接new一个按钮或其他组件;2:对于frame,初始的布局为边界布局(BorderLayout);而面板的初始布局为流布局(FlowsLayout);我们可以根据需要在Frame初始布局上添加其他布局;3:new多个有规律的相同组件时,我们可以使用for循环完成;第二个程序:我们有多个事件处理,显然如果我们用implement来实现只能实现一个,但是我们可以使用xxx.addActionListener(new ActionListener(){public void  actionPerfomder(ActionEvent e){........})来进行不同按钮的不同的事件处理。 

posted @ 2019-05-22 19:48  廖文龙  阅读(187)  评论(0编辑  收藏  举报