JAVA程序设计 实验一 Java简单图形界面编程

《Java程序设计》实 验 报 告(一)

实验名称: Java简单图形界面编程

实验地点:10-413

所使用的工具软件及环境:

环境:Windows 8.1;jdk 1.8;

工具:eclipse

实验目的:

在Eclipse下编辑、编译、运行、调试简单的Java程序     。

实验内容:

编写图形界面程序,接受用户输入的一个O~100之间的分数,将其转化为1~5分计的5分计方法:

90~100: 5

75~89:4

60~74:3

40~59: 2

其他:1

源程序:

//jframedemo.java

package com.itheima.ui;

        import java.awt.FlowLayout;
        import java.awt.event.ActionEvent;
        import java.awt.event.ActionListener;

        import javax.swing.JButton;
        import javax.swing.JFrame;
        import javax.swing.JScrollPane;
        import javax.swing.JTextArea;
        import javax.swing.JTextField;

//public interface MyCommandListener extends ActionListener {
interface MyCommandListener extends ActionListener {
    //子接口多给出了两种抽象方法
    public void setJTextField(JTextField text);
    public void setTextArea(JTextArea area);
}

//创建监听器的类
//public class PoliceListen implements MyCommandListener {
class PoliceListen implements MyCommandListener {

    private JTextField textInput;
    private JTextArea textShow;
    int m;
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        //置m无效值为-1
        m=-1;
        String str=textInput.getText();
        //将字符串转化为数字
        int a=Integer.valueOf (str);
        //五分制判断
        if(a<=100){
            if(a>=90){
                m=5;
            }else if(a>=75){
                m=4;
            }else if(a>=60){
                m=3;
            }else if(a>=40){
                m=2;
            }else{
                m=1;
            }
        }

        textShow.append("分数"+a+" 五分计结果为:"+m+"\n");
    }

    @Override
    public void setJTextField(JTextField text) {
        // TODO Auto-generated method stub
        textInput=text;
    }

    @Override
    public void setTextArea(JTextArea area) {
        // TODO Auto-generated method stub
        textShow=area;
    }

}


//WindowActionEvent2.java

package com.itheima.ui;

import javax.swing.*;
import java.awt.*;

public class WindowActionEvent2 extends JFrame {
    /*
     * 当用户在文本框中输入字符串回车或单击按钮(按钮可以触发ActionEvent事件,当按钮获得监听器之后,
     * 如果激活按钮,比如用鼠标单击按钮或按钮获得焦点时按下空格键,就可以触发ActionEvent事件,
     * 监听器将字符串显示在一个文本区
     */
    private JTextField inputText;
    private JTextArea textShow;
    private JButton button;
    MyCommandListener listener;
    public WindowActionEvent2()
    {
        setLayout(new FlowLayout());
        setVisible(true);
        inputText=new JTextField(10);
        textShow=new JTextArea(9,30);
        button=new JButton("确定");
        add(inputText);
        add(button);
        add(new JScrollPane(textShow));
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
    void setMyCommandListener(MyCommandListener listener)
    {
        this.listener=listener; //listener是监听器
        listener.setJTextField(inputText);
        listener.setTextArea(textShow);
        inputText.addActionListener(listener);//inputText是事件源,listener是监听器
        button.addActionListener(listener);//button是事件源,listener是监听器
    }



    public static void main(String args[])
    {
        WindowActionEvent2 win=new WindowActionEvent2();
        PoliceListen police=new PoliceListen();//创建监听器
        win.setMyCommandListener(police);//窗口组合监听器
        win.setBounds(100,100,460,360);
        win.setTitle("五分制计分");
    }
}

实验结果:

在输入框中输入一个0~100之间的分数,程序将其转化为1~5分制,并在右侧栏显示出来。其中,当所输入分数未处在0~100区间内时,则计分为-1用来报错。

实验总结:

经过本次实验,我进一步深入理解了课堂上所讲授的面向对象的编程思想,JAVA类与对象的关系、JAVA与C\C++语言的区别和相同点,以及学到了如何制作一个图形化界面,并且将我之前学C++语言时面向对象设计的思维方式运用在了JAVA语言的学习之中,所以学起来比较轻松和快速,也更加熟悉了IDEA集成开发环境的使用。我认为,在写程序的过程中最基本的就是要去理解JAVA与C\C++语言的区别。此外,我也从本次实验中了解了JAVA的监听器和创建图形化界面的基本步骤,掌握了JAVA开发环境的配置与解释器的选择使用,对以后JAVA的深入学习有了更多的帮助。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值