精华内容
下载资源
问答
  • ² 实验要求: 编写一个算书测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,比如用户可以...

    1.算术测试。

    ²  实验要求:

    编写一个算书测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。

    package lzy;
    
    public class MainClass
    { public static void main(String args[])
      {
          ComputerFrame frame;
          frame=new ComputerFrame("算术测试 ");//创建窗口,其标题为:算术测试
      }
    }

    package lzy;
    
    import java.awt.*;
    import java.awt.event.*;
    public class ComputerFrame extends Frame implements ActionListener
    {
        TextField textOne,textTwo,textResult;
       Button getProblem,giveAnwser;
       Label operatorLabel,message;
       Teacher teacher;
       ComputerFrame(String s)
        { super(s);
          teacher=new Teacher();
          setLayout(new FlowLayout());
          textOne=new TextField(10);     //创建textOne,其可见字符长是10
          textTwo=new TextField(10);    //创建textTwo,其可见字符长是10
          textResult=new TextField(10);  //创建textResult,其可见字符长是10
          operatorLabel=new Label("+");
          message=new Label("你还没有回答呢");
          getProblem=new Button("获取题目");
          giveAnwser=new Button("确认答案");
          add(getProblem);
          add(textOne);
          add(operatorLabel);
          add(textTwo);
          add(new Label("="));
          add(textResult);
          add(giveAnwser);
          add(message);
          textResult.requestFocus();
          textOne.setEditable(false);
          textTwo.setEditable(false);
        getProblem.addActionListener(this); //将当前窗口注册为getProblem的ActionEvent事件监视器
        giveAnwser.addActionListener(this);  //将当前窗口注册为giveAnwser的ActionEvent事件监视器
          textResult.addActionListener(this); //将当前窗口注册为textResult的ActionEvent事件监视器
          setBounds(100,100,450,100);
          setVisible(true);
          validate();
          addWindowListener(new WindowAdapter()
                            {  public void windowClosing(WindowEvent e)
                               {  System.exit(0);
                               }
                            }
                           );
        }
        public void actionPerformed(ActionEvent e)
        {
            if(e.getSource()==getProblem) //判断事件源是否是getProblem
           {
                int number1=teacher.giveNumberOne(100);
             int number2=teacher.giveNumberTwo(100);
             String operator = teacher.giveOperator();
             textOne.setText(""+number1);
             textTwo.setText(""+number2);
             operatorLabel.setText(operator);
             message.setText("请回答");
    textResult.setText(null);
           }
         if(e.getSource()==giveAnwser) //判断事件源是否是giveAnwser
           {  String answer=textResult.getText();
              try{
                   int result=Integer.parseInt(answer);
                   if(teacher.getRight(result)==true)
                   {  message.setText("你回答正确");
                   }
                   else
                   { message.setText("你回答错误");
                   }
                 }
              catch(NumberFormatException ex)
                 {  message.setText("请输入数字字符");
                 }
           }
          textResult.requestFocus();
          validate();
       }
    }

    package lzy;
    
    public class Teacher
    {
        int numberOne,numberTwo;
       String operator="";
       boolean right;
       public int giveNumberOne(int n)
       {
           numberOne=(int)(Math.random()*n)+1;
          return numberOne;
       }
       public int giveNumberTwo(int n)
       {
           numberTwo=(int)(Math.random()*n)+1;
          return numberTwo;
       }
       public String giveOperator()
       {
           double d=Math.random();
          if(d>=0.5)
             operator="+";
          else
             operator="-";
          return operator;
       }
       public boolean getRight(int answer)
       {
           if(operator.equals("+"))
           {
               if(answer==numberOne+numberTwo)
                right=true;
              else
                right=false;
           }
          else if(operator.equals("-"))
           {
              if(answer==numberOne-numberTwo)
                right=true;
              else
                right=false;
           }
          return right;
       }
    }

    2.信号灯。

    ²  实验要求:

    编写一个带有窗口的应用程序。在窗口的北面添加一个下拉列表,该下拉列表有“”、“”和“”三个选项。在窗口的中心添加一个画布,当用户在下拉列表选择某项后,画布上绘制相应的信号灯。

    package lzy;
    
    public class SignalMainClass
    {
    	public static void main(String args[])
      { 
    	 SignalFrame frame;
         frame=new SignalFrame() ; 
         frame.setTitle("信号灯");  
      }
    }
    

    package lzy;
    
    import java.awt.*;
    import java.awt.event.*;
    public class SignalFrame extends Frame implements ItemListener 
    {  
    	
      Choice choice;
       SignalCanvas signal=null;
       String itemRed="红灯",itemYellow="黄灯",itemGreen="绿灯";
       public SignalFrame()
       {  
    	   choice= new Choice();      //创建choice
          choice.add(itemRed);             //创建choice添加itemRed
          choice.add(itemYellow);              //创建choice添加itemYellow 
          choice.add(itemGreen);              //创建choice添加itemGreen  
          choice.addItemListener(this);  //将当前窗口注册为choice的ItemEvent事件监视器
          add(choice,BorderLayout.NORTH);
          try{ 
        	  Class cs=Class.forName("SignalCanvas");
                signal=(SignalCanvas)cs.newInstance();
                add(signal,BorderLayout.CENTER);
              }
           catch(Exception e)
              { 
        	   add(new Label("您还没有编写SignalCanvas类"),BorderLayout.CENTER);
              } 
          setBounds(100,100,360,300);
          setVisible(true);
          validate();
          addWindowListener(new WindowAdapter()
                            {  public void windowClosing(WindowEvent e)
                               {  System.exit(0);
                               }
                            }
                           );
       }
      public void itemStateChanged(ItemEvent e)
       {  
    	  String item= choice.getSelectedItem();  // choice返回被选中的条目
          int w=signal.getBounds().width;
          int h=signal.getBounds().height;
          int m=Math.min(w,h);
          signal.setRadius(m/6);
          if(item.equals(itemRed)) 
          {
        	  if(signal!=null)
             { 
        		  signal.setRed(1);
               signal.setYellow(0);
               signal.setGreen(0);
               signal.setPosition(w/3,0);
               signal.repaint();
             }
          }
         else if(item.equals(itemYellow))
          { 
        	 if(signal!=null)
             {
        		 signal.setRed(0);
               signal.setYellow(1);
               signal.setGreen(0);
               signal.setPosition(w/3,h/3);
               signal.repaint();
             }  
          }
         else if(item.equals(itemGreen)) 
          { 
        	 if(signal!=null)
             { 
        		 signal.setRed(0);
               signal.setYellow(0);
               signal.setGreen(1);
               signal.setPosition(w/3,2*h/3);
               signal.repaint();
             }
          }
       }
    }
    

    package lzy;
    
    import java.awt.*;
    public class SignalCanvas extends Canvas 
    {  
    	
    	int red,green,yellow,x,y,r;
       SignalCanvas()
       {  
    	   setBackground(Color.white);
       }
       public void setRed(int r)
       {  
    	   red=r;
       }
       public void setGreen(int g)
       {  
    	   green=g;
       }
       public void setYellow(int y)
       {   yellow=y;
       }
       public void setPosition(int x,int y)
       { 
    	   this.x=x;
          this.y=y;
       }
       public void setRadius(int r)
       {  
    	   this.r=r;
       }
       public void paint(Graphics g)
       { 
    	   if(red==1)
           { 
    	   g.setColor(Color.red);
           }
          else if(green==1)      
           { 
        	  g.setColor(Color.green);   
           }
         else if(yellow==1)
           {  
        	 g.setColor(Color.yellow);   
           }
          g.fillOval(x,y,2*r,2*r);
       }
    }
    

    3.布局与日历。

    ²  实验要求:

    编写一个应用程序,有一个窗口,该窗口为BorderLayout布局。窗口的中心添加一个Panel容器:pCenter,pCenter的布局是7行7列的GriderLayout布局,pCenter中放置49个标签,用来显示日历。窗口的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮:nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth按钮,可以显示当前月的上一月的日历。窗口的南面添加一个Panel容器pSouth,其布局是FlowLayout布局,pSouth中放置一个标签用来显示一些信息。

    package lzy;
    
    public class CalendarMainClass
    { 
    	public static void main(String args[])
      {   
    	CalendarFrame frame=new CalendarFrame();
          frame.setBounds(100,100,360,300);
          frame.setVisible(true);
          frame.validate();
          frame.addWindowListener(new java.awt.event.WindowAdapter()
          { 
        	  public void windowClosing(java.awt.event.WindowEvent e)
              { 
        		  System.exit(0);
                  }
                                   }
              );
      }
    }
    
    package lzy;
    
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    public class CalendarFrame extends Frame implements ActionListener
    {   
    	Label labelDay[]=new Label[42];
         Button titleName[]=new Button[7];
         String name[]={"日","一","二","三", "四","五","六"};
         Button nextMonth,previousMonth;
         int year=2006,month=10;
         CalendarBean calendar;
         Label showMessage=new Label("",Label.CENTER);
         public CalendarFrame()
         {  
        	 Panel pCenter=new Panel();
              pCenter.setLayout(new GridLayout(7,7));//将pCenter的布局设置为7行7列的GridLayout 布局。
            for(int i=0;i<7;i++)
            { 
            	titleName[i]=new Button(name[i]);
            	pCenter.add(titleName[i]); //pCenter添加组件titleName[i]。
            }
            for(int i=0;i<42;i++)
            {
               labelDay[i]=new Label("",Label.CENTER);
               pCenter.add(labelDay[i]);   //pCenter添加组件labelDay[i]。
            }
            calendar=new  CalendarBean();
            calendar.setYear(year);
            calendar.setMonth(month);
            String day[]=calendar.getCalendar();
            for(int i=0;i<42;i++)
            {  
            	labelDay[i].setText(day[i]);
            }
            nextMonth=new Button("下月");
            previousMonth=new Button("上月");
            nextMonth.addActionListener(this);
            previousMonth.addActionListener(this);
            Panel pNorth=new Panel(),
                  pSouth=new Panel();
            pNorth.add(previousMonth);
            pNorth.add(nextMonth);
            pSouth.add(showMessage);
            showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );
            ScrollPane scrollPane=new ScrollPane();
            scrollPane.add(pCenter);
            add(scrollPane,BorderLayout.CENTER); // 窗口添加scrollPane在中心区域 
            add(pNorth,BorderLayout.NORTH);   //  窗口添加pNorth 在北面区域
            add(pSouth,BorderLayout.SOUTH); // 窗口添加pSouth 在南区域。
         }
         public void actionPerformed(ActionEvent e)
         { 
        	 if(e.getSource()==nextMonth)
            { 
        		 month=month+1;
              if(month>12)
                  month=1;
              calendar.setMonth(month);
              String day[]=calendar.getCalendar();
              for(int i=0;i<42;i++)
               { 
            	  labelDay[i].setText(day[i]);
               }
            }
           else if(e.getSource()==previousMonth)
            {
        	   month=month-1;
              if(month<1)
                  month=12;
              calendar.setMonth(month);
              String day[]=calendar.getCalendar();
               for(int i=0;i<42;i++)
               {  
            	   labelDay[i].setText(day[i]);
               }
            }
           showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );
         }
    }
    


    package lzy;
    
    import java.util.Calendar;
    public class CalendarBean 
     {  
       String  day[];
       int year=2005,month=0;
       public void setYear(int year)
       {    this.year=year;
       }
       public int getYear()
       {    return year; 
       }
       public void setMonth(int month)
       {    this.month=month;
       }
       public int getMonth()
       {    return month; 
       }
       public String[] getCalendar()
       {   String a[]=new String[42];     
           Calendar 日历=Calendar.getInstance();
           日历.set(year,month-1,1);             
           int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
           int day=0;
          if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
           {  day=31;
           } 
         if(month==4||month==6||month==9||month==11)
           {  day=30;
           }
         if(month==2)
          {  if(((year%4==0)&&(year%100!=0))||(year%400==0))
               {   day=29;
               }
             else
               {   day=28;
               }
          }
         for(int i=星期几,n=1;i<星期几+day;i++)
          { 
             a[i]=String.valueOf(n) ;
             n++;
          }  
          return a;
       } 
    }
    




    展开全文
  • Java实验自定义异常处理

    千次阅读 2018-04-25 11:42:38
    编写程序,任意输入一学生的成绩,用自定义异常处理所输入的成绩是否小于0或大于100,并在程序中进行异常处理,若没异常直接输出该学生的成绩。import java.util.Scanner; class Myexption extends Exception { ...

    编写程序,任意输入一学生的成绩,用自定义异常处理所输入的成绩是否小于0或大于100,并在程序中进行异常处理,若没异常直接输出该学生的成绩。

    import java.util.Scanner;
    
    class Myexption extends Exception
    {
    	private static final long serialVersionUID = 1L;
    	public String myMessm()
    	{
    		return ("成绩不能小于0或大于100");
    	}
    }
    
    class Stu_mark
    {
    	public void show()
    	{
    		int m;
    		Scanner rdata = new Scanner(System.in);
    		System.out.print("请输入一个学生的成绩:");
    		m = rdata.nextInt();
    		try
    		{
    			if(m<0||m>100)
    			{
    				throw new Myexption();
    			}
    			System.out.print("学生成绩为:"+m);
    		}
    		catch (Myexption e) 
    		{
    			System.out.println(e.myMessm());
    			
    		}
    	}
    }
    
    public class Sample5_2 {
    
    	public static void main(String[] args) {
    		
    		Stu_mark s1 = new Stu_mark();
    		s1.show();
    	}
    
    }

    展开全文
  • java实验之GUI标准组件及事件处理

    千次阅读 2018-09-17 21:07:06
    理解和掌握 Java事件处理机制。   二、实验环境:   一台配置有java环境,装有eclipse的电脑。   三、实验内容: (写出主要的内容)   实验要求 1. 了解Java图像用户界面的开发,掌握基本组件的使用...

    一、实验目的:

     

    了解图形用户界面基本组件:框架、面板、按钮、标签、菜单、列表等的使用方法;了解如何使用布局管理器对组件进行管理;理解和掌握 Java 的事件处理机制。

     

    二、实验环境:

     

    一台配置有java环境,装有eclipse的电脑。

     

    三、实验内容:

    (写出主要的内容)

     

    • 实验要求

    1.  了解Java图像用户界面的开发,掌握基本组件的使用。

    2.  掌握编写独立运行的窗口界面的方法,了解菜单和对话框的使用方法。

    3.  理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。

     

    • 在面板中添加多个组件,并进行合理的布局
      • 程序功能:在一个框架(Frame)容器中添加一个面板(Panel)容器,并分别在框架和面板容器中添加组件并使用不同的布局管理方式。
      • 请编写KY7_1.java 程序文件,相关源代码的提示如下。

    import java.awt.*;

    import java.awt.Color; 

    public class KY7_1 {

    public static void main(String args[]){

    ……   //创建一个框架f

      ……   //创建一个面板p

       ……   //把面板p添加到框架f中

       …… //设置面板p的背景颜色为蓝色

       p.setLayout(new FlowLayout());   //设置面板p的布局为流式布局

       ……   //在面板p中添加一个标签l

    ……  //在面板p中添加六个按钮

    Choice c=new Choice ();   // 创建一个下拉列表c,

    c.addItem("北京");        // 下拉列表c中有三个选项:北京、上海和天津

    c.addItem("上海");

    c.addItem("天津");

       ……   //把列表c添加到面板p中

    ……   //设置框架f的大小和可见性 

       }

    • 将上面程序中的空缺部分添加进去,编译并执行该程序。
    • 将KY7_1.java的完整源程序写在实验报告中。

    import java.awt.*;

    import java.awt.Color;

    public class KY7_1 {

    public static void main(String args[]){

    Frame f=new Frame();//创建一个框架f

    Panel p=new Panel();//创建一个面板p

      f.add(p);//把面板p添加到框架f中

      p.setBackground(Color.blue);//设置面板p的背景颜色为蓝色

      p.setLayout(new FlowLayout());   //设置面板p的布局为流式布局

      Label l=new Label();

      p.add(l);//在面板p中添加一个标签l

      Button button1=new Button();//在面板p中添加六个按钮

      Button button2=new Button();

      Button button3=new Button();

      Button button4=new Button();

      Button button5=new Button();

      Button button6=new Button();

      p.add(button1);

      p.add(button2);

      p.add(button3);

      p.add(button4);

      p.add(button5);

      p.add(button6);

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Choice c=new Choice ();   // 创建一个下拉列表c,

    c.addItem("北京");        // 下拉列表c中有三个选项:北京、上海和天津

    c.addItem("上海");

    c.addItem("天津");

    p.add(c);//把列表c添加到面板p中

    f.setBounds(400,400,400,400);//设置框架f的大小和可见性

    f.setVisible(true);

    f.validate();

       }

    }

     

     

     

    import java.awt.*;

    import java.awt.Color;

    import javax.swing.JFrame;

    public class KY7_1 {

    public static void main(String args[]){

        JFrame f=new JFrame();//创建一个框架f

    Panel p=new Panel();//创建一个面板p

      f.add(p);//把面板p添加到框架f中

      p.setBackground(Color.blue);//设置面板p的背景颜色为蓝色

      p.setLayout(new FlowLayout());   //设置面板p的布局为流式布局

      Label l=new Label();

      p.add(l);//在面板p中添加一个标签l

      Button button1=new Button();//在面板p中添加六个按钮

      Button button2=new Button();

      Button button3=new Button();

      Button button4=new Button();

      Button button5=new Button();

      Button button6=new Button();

      p.add(button1);

      p.add(button2);

      p.add(button3);

      p.add(button4);

      p.add(button5);

      p.add(button6);

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Choice c=new Choice ();   // 创建一个下拉列表c,

    c.addItem("北京");        // 下拉列表c中有三个选项:北京、上海和天津

    c.addItem("上海");

    c.addItem("天津");

    p.add(c);//把列表c添加到面板p中

    f.setBounds(400,400,400,400);//设置框架f的大小和可见性

    f.setVisible(true);

    f.validate();

       }

    }

    • 为窗口添加菜单,并处理由菜单项所引发的事件
      • 程序功能:在窗口中添加菜单条,在菜单条中添加菜单,并在菜单中添加菜单项和子菜单。通过选择菜单项可以引发不同的事件,从而执行不同操作,例如点击“打开”菜单项可以打开一个“打开文件对话框”。

      • 编写KY7_2.java 程序文件,源代码如下。

    import java.awt.*;

    import java.awt.event.*;

    public class KY7_2 extends Frame implements ActionListener {

    static Frame f;          //声明一个框架

    static FileDialog fd1;    //声明一个文件对话框对象

      static FileDialog fd2;

    public static void main(String args[]) {

    KY7_2  k = new KY7_2();  

         f = new Frame();   // 创建一个框架f  

    ……   // 创建一个菜单条 mb

         ……   // 在菜单条mb中添加两个菜单m1("文件")和m2("帮助")

    ……   /*  "文件"菜单m1中有三个菜单项:m11("打开")、

    m12("关闭")和m13("退出")*/

    ……  /*  "帮助"菜单m2中有三个菜单项:m21("目录")、

    m22("索引")和m23("关于")*/

    ……  //  "文件"菜单m1中还有一个子菜单m3("编辑")

    ……  /*  "编辑"子菜单m3 中有三个菜单项:m31("复制")、

    m32("剪切")和m33("粘贴")*/  

    m11.addactionlistner(k);   /* 允许菜单项"打开"引发一个事件,该事件的处理者为当前对象 k  */

    m13.addactionlistner(k);   /* 允许菜单项"退出"引发一个事件,该事件的处理者为当前对象 k  */

    f.setSize(350,200);   // 设置框架f的大小

    f.setMenuBar(mb);   // 设置框架f的菜单条为mb  

    f.setVisible(true);    

    }

    public void actionPerformed (ActionEvent e) {  /* 处理由菜单项"打开"和"退出" 所引发的事件*/

    if (e.getActionCommand() == "打开") {  /* 若"打开"菜单项引发事件,则打开“打开文件对话框”*/

    FileDialog fd = new FileDialog (f, "open", FileDialog.SAVE); 

    fd.setVisible (true);

    }

    if (e.getActionCommand() == "保存")    /* 若"保存"菜单项引发事件,则打开“保存文件对话框”*/

    ……  //创建并打开一个“保存文件对话框”

    }

    }

    • 将上面程序中的空缺部分添加进去,编译并执行该程序。
    • 将KY7_2.java的完整源程序写在实验报告中。

    答:源代码为:

    import java.awt.*;

    import java.awt.event.*;

    public class KY9_2 extends Frame implements ActionListener {

    static Frame f;  //声明一个框架

    static FileDialog fd1;  //声明一个文件对话框

    static FileDialog fd2;

    public static void main(String[] args) {

    KY9_2 k=new KY9_2();

    f=new Frame();   //创建一个框架f

    MenuBar mb=new MenuBar();//创建一个菜单条mb

        Menu m1=new Menu("文件");//在菜单条mb中添加两个菜单m1("文件")和m2("帮助")

        Menu m2=new Menu("帮助");

        mb.add(m1);

        mb.add(m2);

        MenuItem m11=new MenuItem("打开");//"文件"菜单m1中有三个菜单项:m11("打开")、m12("关闭")、m13("退出")

        MenuItem m12=new MenuItem("关闭");

        MenuItem m13=new MenuItem("退出");

        m1.add(m11);

        m1.add(m12);

        m1.add(m13);

        MenuItem m21=new MenuItem("目录");//"帮助"菜单m2中有三个菜单项:m21("目录")、m22("索引")、m23("关于")

        MenuItem m22=new MenuItem("索引");

        MenuItem m23=new MenuItem("关于");

        m2.add(m21);

        m2.add(m22);

        m2.add(m23);

        Menu m3=new Menu("编辑");//  "文件"菜单m1中还有一个子菜单m3("编辑")

        m1.add(m3);

        MenuItem m31=new MenuItem("复制");/*  "编辑"子菜单m3 中有三个菜单项:m31("复制")、 m32("剪切")和m33("粘贴")*/  

        MenuItem m32=new MenuItem("剪切");

        MenuItem m33=new MenuItem("粘贴");

        m3.add(m31);

        m3.add(m32);

        m3.add(m33);

        m11.addActionListener(k); /* 允许菜单项"打开"引发一个事件,该事件的处理者为当前对象 k */

        m13.addActionListener(k); /* 允许菜单项"退出"引发一个事件,该事件的处理者为当前对象 k  */

        f.setSize(350,200);// 设置框架f的大小

        f.setMenuBar(mb);// 设置框架f的菜单条为mb  

        f.setVisible(true);

    }

    public void actionPerformed(ActionEvent e) { /* 处理由菜单项"打开"和"退出"所引发的事件*/

    if(e.getActionCommand()=="打开"){ /* 若"打开"菜单项引发事件,则打开“打开文件对话框”*/

    FileDialog fd1=new FileDialog(f,"open",FileDialog.SAVE);

    fd1.setVisible(true);

    }

    if(e.getActionCommand()=="保存"){ /* 若"保存"菜单项引发事件,则打开“保存文件对话框”*/

    FileDialog fd2=new FileDialog(f,"save",FileDialog.SAVE);//创建并打开一个“保存文件对话框”

    fd2.setVisible(true);

    }

    }

    }

    结果截图:

    • 思考题

    1.构造函数和init()方法谁先被执行?

    答:先构造方法再init()方法。因为构造函数调用的init()方法。
     2.编写Applet,包含两个按钮,一个按钮用于放大Applet上的一串字符串,一个按钮用于缩小;连续点击可不断放大或缩小。

    源代码:

    import java.awt.*;

     import java.applet.*;

    public class ky9_3 extends Applet {

    private static final long serialVersionUID = 1L;

    private Button button = null;

    private Button button1 = null;

    int size= 20;

    public ky9_3() {

    super();

    }

    public void init() {

    this.setLayout(null);

    this.setSize(300, 200);

    this.add(getButton(), null);

    this.add(getButton1(), null);

    }

    private Button getButton() {

    if (button == null) {

    button = new Button();

    button.setBounds(new Rectangle(70, 135,60, 20));

    button.setLabel("放大");

    button.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent e) {

    size++;

    repaint();

    }

    });

    }

    return button;

    }

    private Button getButton1() {

    if (button1 == null) {

    button1 = new Button();

    button1.setBounds(new Rectangle(170, 135, 60, 20));

    button1.setLabel("缩小");

    button1.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent e) {

    size--;

    repaint();

    }

    });

    }

    return button1;

    }

    public void paint(Graphics g){

    g.setFont(new Font("宋体",Font.BOLD+Font.ITALIC,size));

    g.drawString("Applet", 100, 100);

    }

    }

     

    结果截图:

     

     

    展开全文
  • Java实验异常处理

    千次阅读 2018-04-25 11:41:30
     提示:异常出现:n的值可能是小于等于0的数import java.util.Scanner; class Factorial { public void show() { int n,sum = 1; Scanner rdata = new Scanner(System.in); n = rdata.nextInt(); ...

    计算n!,并捕获可能出现的异常,n的值由控制台传入。

       提示:

    异常出现:n的值可能是小于等于0的数

    import java.util.Scanner;
    
    class Factorial
    {
    	public void show()
    	{
    		int n,sum = 1;
    		Scanner rdata = new Scanner(System.in);
    		n = rdata.nextInt();
    		try
    		{
    			if(n<0)
    			{
    				throw new Exception();
    			}
    			for(int i=1 ;i<=n ; i++)
    			{
    				sum = sum*i;
    			}
    			System.out.print(n+"的阶乘是:"+sum);
    		}
    		catch(Exception e)
    		{
    			System.out.print("n不能小于0!");
    		}
    		
    	}
    }
    
    
    public class Sample_5_1 {
    
    	
    	public static void main(String[] args) {
    		
    		Factorial f1 = new Factorial();
    		f1.show();
    	}
    
    }

    展开全文
  • 【例6-1】源程序simpleEvent.java,是文本框的简单程序处理程序。 import java.applet.*; import java.awt.*; import java.awt.event.*; @SuppressWarnings("serial") public class simpleEvent extends Applet ...
  • 一、实验目的及要求 通过实验掌握Java的图形界面、Java事件处理机制--委托事件模型。编写一个Java程序,在程序中建立一个窗口,有四个文本框、两个按钮,单击“求和”按钮,能把第一个和第二个文本框的整数相加后...
  • Java实验6《异常处理

    千次阅读 2019-07-25 15:30:28
    编写try-catch块处理异常 二、实验内容 【NumberFormatException异常】编写一个程序,提示用户输入两个整数,然后显示它们的和。用户输入错误时提示用户重新输入。 1.1 程序代码: import java.util.*; public ...
  • Java 实验4 包与异常处理

    千次阅读 2016-04-23 20:11:57
    实验4 包与异常处理一、实验目的理解Java包机制的作用,掌握Java中的四种访问控制级别;理解异常处理机制,掌握Java异常处理的基本方法。二、实验内容1.程序理解:1)包的定义和引入在包Com.tsinghua.p1中定义了一个...
  • java实验报告一(异常处理

    千次阅读 2020-01-09 10:46:17
    Java程序设计》实 验 报 告一 异常处理 所使用的工具软件及环境: 环境:Windows 8.1;jdk 1.8; 工具:eclipse 实验目的: 了解异常处理机制,掌握异常处理的设计方法。 实验内容: 用户自定义一个异常,编程创建并...
  • [Java] ActionEvent 事件处理

    千次阅读 2011-04-13 06:02:00
    import java.awt.*; import java.awt.event.*; public class ActionEventTest{ public static void main(String[] args){ //创建frame and Button Frame f = new Frame("ActionEventTest"); Button bStart = new ...
  • java实验3:流处理程序设计

    千次阅读 2014-12-09 15:39:56
    实验目的和要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。 实验内容: 设计和编写一个...
  • java实验三 多媒体和多线程处理

    千次阅读 2019-02-21 12:47:47
    学院 计算机科学与教育软件学院 年级、专业、班 网络16* 姓名 ... 实验课程名称 ... Java语言实验 成绩   ...
  • 南邮JAVA程序设计实验3 流处理程序设计
  • 1.编写try-catch块处理异常 二、实验内容 1. 【NumberFormatException异常】编写一个程序,提示用户输入两个整数,然后显示它们的和。用户输入错误时提示用户重新输入。 2. 【ArrayIndexOutOfBoundsException异常】...
  • JAVA事件处理的总结

    千次阅读 2013-06-03 11:47:54
    1. 事件JAVA SE的桌面开发是经常用到的,没有事件的组件就像人没有生命一样。有事件必有事件源,要想完成某一功能必须有事件处理方法,组件和事件相互配合、相互协调才能完成我们想要的结果。事件是一个对象,是...
  • java实验之多线程与异常处理

    千次阅读 2018-10-11 22:46:50
    掌握异常的概念以及如何定义、抛出和捕捉处理异常。    二、实验环境:   一台配置有java环境,装有eclipse的电脑。   三、实验内容: (写出主要的内容) (一) 实验要求 掌握利用Java语言编写多线程...
  • JAVA-actionevent事件响应的处理方式

    千次阅读 2020-03-26 14:30:10
    1.处理东、南、西、北四个按钮,以及文本框的actionevent事件。当事件发生,,监视器计算字符的长度,并在命令行窗体显示按钮的文本内容或文本框的文本内容。 代码: package 实验4; public class test { public ...
  • 大二的java实验

    千次阅读 2018-05-16 18:43:48
    这里会附上我的仓库,进去下载我的 java实验_self,这个我写的实验,戳我到仓库地址java实验上到实验7,包括实验7,后边的没时间了,感觉还是有时间的话,自己学完吧,希望这些能帮到你!!!(我给出实验要求,一样...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 112,907
精华内容 45,162
关键字:

java实验10事件处理

java 订阅