⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exam9_5.java

📁 java学习课件
💻 JAVA
字号:
/*这个程序是对例8.4程序的修改
 *程序名为: Exam9_5.java
 *是一个演示自定义异常的示例程序
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Exam9_5 extends JFrame implements ActionListener
{
  JTextField no = new JTextField(10);
  JTextField result = new JTextField(10);
  JPanel jp=new JPanel();   //创建窗格容器摆放相关组件
  JTextArea jt=new JTextArea(5,20); //创建多行文本框对象显示学生的相关信息
  JScrollPane js=new JScrollPane(jt); //在滚动容器中显示学生信息
  JButton next=new JButton("下一个");
  JButton exit=new JButton("退出");
  public Exam9_5()
  {
 	setTitle("成绩录入 KeyEvent 事件演示");
 	Container rootPane=this.getContentPane(); //获得摆放组件的窗口容器
 	rootPane.setLayout(new FlowLayout());  //在窗口上以流布局摆放组件
 	jp.setLayout(new GridLayout(0,2)); //在窗格容器上以网格布局摆放组件
 	jp.add(new JLabel("学号")); //将组件摆放到窗格上
 	jp.add(no);                 //......
 	jp.add(new JLabel("成绩")); //......
 	jp.add(result);             //......
 	jp.add(exit);               //......
 	jp.add(next);               //......
 	rootPane.add(jp);  //将窗格对象jp添加到窗口上
 	rootPane.add(js);  //将滚动窗格对象js添加到窗口上
 	jt.setEditable(false); //设置多行文本框是不可编辑的
 	exit.addActionListener(this);  //注册exit按钮的监听对象
 	next.addActionListener(this);  //注册next按钮的监听对象
	setSize(250,200); //设置窗口的大小
	setVisible(true);
	setDefaultCloseOperation(3);
  }
  /********主方法*********/
  public static void main( String[] args ) //程序的入口方法
  {
   new Exam9_5();
  }
  /*********ActionListener接口方法*************/ 
  public void actionPerformed(ActionEvent e)  //实现单击按钮事件
  {
    Object obj=e.getSource(); //获取事件源
    if(obj==next)  //设置下一个
    {
     String student_no=no.getText();
     int rs=Integer.parseInt(result.getText());
     Result s1=new Result(student_no,rs);  //创建Result对象
     try
     {
       if(s1.isResult())   //检查输入的成绩是否合格,若不合格将引发异常
       {
       	jt.append(student_no+"  "+rs+"\n");
          no.setText("");
          result.setText("");
          no.requestFocus();  //定位输入位置
       }
     }
     catch(ResultOutOfBoundsException ee)  //捕捉并处理异常
     {
       JOptionPane.showMessageDialog(null,ee.toString(),"数据录入错误",-1);
       result.requestFocus();
     }
    }
    else  //退出
    {
      System.exit(0);
    }  
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -