Java GUI学习

Java GUI学习笔记

主要了解Java中swing方法的基础使用

GUI类

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;

public  class demo17 extends JFrame implements ActionListener{
    Circle theCircle;
    JTextField messageText;
    JTextArea resultText;
    JButton calBtn;
    JButton closeBtn;

    public demo17 (){
        super("计算圆的面积和周长");

        //创建容器

        Container c = this.getContentPane();
        c.setLayout(new FlowLayout());
        JPanel centerPanel = new JPanel(new FlowLayout());

        //创建组件标签、文本框、按钮

        messageText = new JTextField(5);
        JLabel messageLabel = new JLabel("输入圆的半径:");
        calBtn = new JButton("计算");
        closeBtn = new JButton("关闭窗口");
        resultText = new JTextArea("计算结果:",4,20);

        //添加组件到容器

        centerPanel.add(messageLabel);
        centerPanel.add(messageText);
        centerPanel.add(calBtn);
        centerPanel.add(closeBtn);
        c.add(centerPanel);
        c.add(resultText);

        //注册事件到监听器

        calBtn.addActionListener(this);
        closeBtn.addActionListener(this);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(360,170);
        this.setVisible(true);
    }

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


    //实现ActionListener方法

    public void actionPerformed(ActionEvent e){
        if(e.getSource() == calBtn){
            calculate();
        }
        if(e.getSource() == closeBtn){
            shutDown();
        }
    }

    //处理按钮计算事件的方法

    private void calculate(){
        String message = messageText.getText();
        if(message.length() == 0)
            JOptionPane.showMessageDialog(null,"请输入圆的半径!","提示",1);
        else{
            int radius = Integer.parseInt(message);
            theCircle = new Circle(radius);
            int theRadius = theCircle.getRadius();
            double girth = theCircle.calRound();
            double area = theCircle.calArea();

            //显示

            resultText.setText("计算结果如下:");
            resultText.append("\n圆的半径是:"+ theRadius);
            resultText.append("\n圆的周长是:"
                    + new DecimalFormat("#.00").format(girth));
            resultText.append("\n圆的面积是:"+
                    new DecimalFormat("#.00").format(area));
        }
    }

    public void shutDown(){
        System.exit(0);
    }

}

方法类

public class Circle {
    private int radius;
    public Circle (int theRadius){
        setRadius(theRadius);
    }

    public double calRound(){
        return 2 * radius * 3.14159;
    }

    public  double calArea(){
        return 3.14159 * radius * radius;
    }
    public int getRadius(){
        return radius;
    }
    public void setRadius (int radius){
        this.radius = radius;
    }
}

本次实验较为简单,主要是对swing方法有一个基本了解

功能实现的是一个简单的用户输入半径求周长和面积的操作

培养用户界面与业务逻辑分离的项目思维

具体运行界面:
没有描述

  1. 将业务划分,GUI图形界面负责与用户的交互,实现信息的获取和反馈
  2. 具体操作单独作为类方法,实现内部处理和运算
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值