• 大小: 16KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签:

资源简介

实现对亲戚关系的计算,可以在data.txt自增自减关系链。

资源截图

代码片段和文件信息

package com.xie.rel;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Hashtable;

import javax.swing.JButton;
import javax.swing.JOptionPane;

import com.xie.rel.*;

class ButtonListener implements ActionListener {
// 分割字符串的对象
StringSubClass ss = new StringSubClass();
/**
 * 记录按钮的一系列路径信息方便回退
 */
ArrayList al = new ArrayList();
/**
 * 记录一系列计算出来的关系避免回退时的二次计算
 */
ArrayList res = new ArrayList();

public void actionPerformed(ActionEvent e) {

/**
 * 将按钮与称呼对应起来以便于显示在计算板上
 */
Hashtable rec = new Hashtable();
String[] a = { “父“ “母“ “兄“ “弟“ “姐“ “妹“ “夫“ “妻“ “儿“ “女“ };
String[] b = { “爸爸“ “妈妈“ “哥哥“ “弟弟“ “姐姐“ “妹妹“ “丈夫“ “妻子“ “儿子“ “女儿“ };
for (int i = 0; i < a.length; i++) {
rec.put(a[i] b[i]);
}
/**
 * 当前按钮上的字
 */
String which = ((JButton) e.getSource()).getText();
/**
 * 按钮对应事件
 */
if (which.equals(“AC“)) {
/**
 * 将现有身份重置
 */
RelativeCalculater.now = “你“;
RelativeCalculater.isOlder = true;
RelativeCalculater.olderButton.setBackground(new Color(84 110 122));
/**
 * 清空列表
 */
al.clear();
res.clear();
/**
 * 将显示区域清空
 */
RelativeCalculater.inpuTextArea.setText(““);
RelativeCalculater.resultTextArea.setText(““);
} else if (which.equals(“=“)) {
/**
 * 按下等于按钮时当RelativeCalculater.now=<哥哥><弟弟>选择年长还是年幼(默认年长)
 */
if (RelativeCalculater.now.charAt(0) == ‘<‘) {
String[] oldChooseString = ss.subStringAll(RelativeCalculater.now “<“ “>“);
RelativeCalculater.now = RelativeCalculater.isOlder ? oldChooseString[0] : oldChooseString[1];
RelativeCalculater.inpuTextArea.setText(
RelativeCalculater.inpuTextArea.getText() + (RelativeCalculater.isOlder ? “(年长)“ : “(年轻)“));
}
/**
 * 将 小 按钮的设置恢复初始状态
 */
RelativeCalculater.olderButton.setBackground(new Color(84 110 122));
RelativeCalculater.isOlder = true;
/**
 * 将结果显示在面板resultTextArea上
 */
RelativeCalculater.resultTextArea.setText(RelativeCalculater.now);

} else if (which.equals(“小“)) {
RelativeCalculater.isOlder = false;
/**
 * 将 小 的背景色置回原色
 */
RelativeCalculater.olderButton.setBackground(new Color(84 110 122));
} else if (which.equals(“←“)) {
// 若输入区域已经为空那么就重置一次计算器
if (RelativeCalculater.inpuTextArea.getText().equals(null)) {
al.clear();
res.clear();
RelativeCalculater.now = “你“;
RelativeCalculater.isOlder = true;
RelativeCalculater.olderButton.setBackground(new Color(84 110 122));
RelativeCalculater.resultTextArea.setText(““);
}
// 若ArrayList为空则提示不可再回退
if (res.isEmpty()) {
if (al.isEmpty()) {
RelativeCalculater.resultTextArea.setText(“已经不可回退“);
RelativeCalculater.now = “你“;
} else {
al.clear();
RelativeCalculater.now = “

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2631  2017-06-29 08:43  计算器\data.txt

     文件        301  2017-06-22 11:13  计算器\RelativeCalculater\.classpath

     文件        394  2017-06-22 11:13  计算器\RelativeCalculater\.project

     文件        598  2017-06-22 11:13  计算器\RelativeCalculater\.settings\org.eclipse.jdt.core.prefs

     文件       5211  2017-07-02 11:14  计算器\RelativeCalculater\bin\com\xie\rel\ButtonListener.class

     文件       6522  2017-07-02 11:14  计算器\RelativeCalculater\bin\com\xie\rel\RelativeCalculater.class

     文件       2221  2017-07-02 11:14  计算器\RelativeCalculater\bin\com\xie\rel\StringSubClass.class

     文件       7810  2017-07-02 11:14  计算器\RelativeCalculater\src\com\xie\rel\ButtonListener.java

     文件       9676  2017-07-02 11:14  计算器\RelativeCalculater\src\com\xie\rel\RelativeCalculater.java

     文件       1649  2017-07-02 11:14  计算器\RelativeCalculater\src\com\xie\rel\StringSubClass.java

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\bin\com\xie\rel

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\src\com\xie\rel

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\bin\com\xie

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\src\com\xie

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\bin\com

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\src\com

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\.settings

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\bin

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater\src

     目录          0  2017-07-05 16:10  计算器\RelativeCalculater

     目录          0  2017-07-07 14:51  计算器

----------- ---------  ---------- -----  ----

                37013                    21


评论

共有 条评论

相关资源