iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现简易界面通讯录
  • 696
分享到

Java实现简易界面通讯录

2024-04-02 19:04:59 696人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

前言 这个也是Java实验课程的一个作业,和Java实现简单的图形界面计算器一起做的,因为以前没有做过GUI编程,所以做的非常简陋,还有很多BUG,但是感觉当个作业也够了。 程序功能

前言

这个也是Java实验课程的一个作业,和Java实现简单的图形界面计算器一起做的,因为以前没有做过GUI编程,所以做的非常简陋,还有很多BUG,但是感觉当个作业也够了。

程序功能和截图

这里的添加是直接添加到文件中,为什么不用数据库呢?因为我们老师根本就没教,所以也不能用.。

通过输入的名字在文件中查找是否有该用户,如果用,就显示到界面上。

大致的功能就是上面两个。

代码

一、文件读写工具

package Contacts;

import java.io.*;


public class FileRW {
    private static FileWriter fileWriter;

    private static FileReader fileReader;

    private static BufferedReader bf;

    private static BufferedWriter bw;

    private static File file = new File("D:\\dest.txt");
    public static void fileWrite(String s) {
        try {
            fileWriter = new FileWriter(file, true);
            bw = new BufferedWriter(fileWriter);
            bw.write(s);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                bw.close();
                fileWriter.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    public static String fileRead(String dest) {
        try {
            fileReader = new FileReader(file);
            bf = new BufferedReader(fileReader);
            String ss;
            while((ss = bf.readLine()) != null) {
                String[] temp = ss.split(",");
                if(temp[0].equals(dest)) {
                    return ss;
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                bf.close();
                fileReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}

二、界面程序

package Contacts;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

//定义自已的MyPanel,用于实现画图
class MyPanelone extends JPanel {
    private String ss;
    private int x;
    private int y;
    private int size;

    public MyPanelone(String ss, int x, int y, int size) {
        this.ss = ss;
        this.x = x;
        this.y = y;
        this.size = size;
    }

    //覆盖JPanel的paint方法
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(Color.BLACK);
        g.setFont(new Font("宋体", Font.BOLD, size));
        g.drawString(ss, x, y);
    }
}

public class MyContacts extends JFrame{
    private MyPanelone myPaneone;
    private JPanel[] jPanels = new JPanel[7];
    private JButton[] jButtons = new JButton[4];
    private JTextField[] jTextFields = new JTextField[6];
    private JLabel[] jLabels = new JLabel[6];
    private String[] texts = new String[6];

    private class MyActionListener implements ActionListener {

        @Override
        public void actionPerfORMed(ActionEvent e) {
            boolean flag = true;
            StringBuilder s = new StringBuilder();
            String actionCommand = e.getActionCommand();
            if(actionCommand == "添加") {
                for (int i = 0; i < 6; i++) {
                    texts[i] = new String();
                    texts[i] = jTextFields[i].getText();
                    //System.out.println(texts[i]);
                    if(texts[i].equals("") || texts[i] == null) {
                        flag = false;
                        break;
                    }
                    if(i == 0) {
                        s.append(texts[i]);
                    }
                    else {
                        s.append(",").append(texts[i]);
                    }
                }
                if(flag) {
                    s.append("\n");
                    //将文本域中的内容写成一个字符串
                    String ss = s.toString();
                    //将字符串写入文件
                    FileRW.fileWrite(ss);
                    for(int i=0;i<6;i++) {
                        jTextFields[i].setText("");
                    }
                    //System.out.println(ss);
                    JFrame jFrame = new JFrame();
                    jFrame.setBounds(500, 300, 300, 300);
                    MyPanelone myPanelone = new MyPanelone("添加成功", 100, 100, 20);
                    jFrame.add(myPanelone);
                    jFrame.addWindowListener(new WindowAdapter() {
                        @Override
                        public void windowClosing(WindowEvent e) {
                            e.getWindow().dispose();
                        }
                    });
                    jFrame.setVisible(true);
                }
                else {
                    JFrame jFrame = new JFrame();
                    jFrame.setBounds(500, 300, 300, 300);
                    MyPanelone myPanelone = new MyPanelone("请把所有内容都填写完整", 60, 100, 15);
                    jFrame.add(myPanelone);
                    jFrame.addWindowListener(new WindowAdapter() {
                        @Override
                        public void windowClosing(WindowEvent e) {
                            e.getWindow().dispose();
                        }
                    });
                    jFrame.setVisible(true);
                }


            }
            else if(actionCommand == "清空") {
                for(int i=0;i<6;i++) {
                    jTextFields[i].setText("");
                }
            }
            else if(actionCommand == "退出") {
                System.exit(0);
            }
            else if(actionCommand == "查找") {
                JFrame frame = new JFrame("输入");

                JPanel jPanel = new JPanel();
                JPanel jPanel1 = new JPanel();
                JLabel jLabel = new JLabel("输入查找人的名字");
                JButton jButton = new JButton("确定");
                JTextField jTextField = new JTextField(30);
                jPanel.add(jLabel);
                jPanel.add(jTextField);
                jButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        String actionCommand1 = e.getActionCommand();
                        String dest = jTextField.getText();
                        String findresult = FileRW.fileRead(dest);
                        if(findresult == null) {
                            for(int i=0;i<6;i++) {
                                jTextFields[i].setText("");
                            }
                            JFrame jFrame = new JFrame();
                            jFrame.setBounds(500, 300, 300, 300);
                            MyPanelone myPanelone = new MyPanelone("未找到该用户", 100, 100, 20);
                            jFrame.add(myPanelone);
                            jFrame.addWindowListener(new WindowAdapter() {
                                @Override
                                public void windowClosing(WindowEvent e) {
                                    e.getWindow().dispose();
                                }
                            });
                            jFrame.setVisible(true);
                            frame.dispose();
                        }
                        else {
                            String[] tempdest = findresult.split(",");
                            for(int i=0;i<6;i++) {
                                jTextFields[i].setText(tempdest[i]);
                            }
                            frame.dispose();
                        }

                    }
                });
                jPanel1.add(jButton);
                frame.add(jPanel, BorderLayout.CENTER);
                frame.add(jPanel1, BorderLayout.SOUTH);
                frame.setBounds(500, 300, 400, 300);
                frame.addWindowListener(new WindowAdapter() {
                    @Override
                    public void windowClosing(WindowEvent e) {
                        e.getWindow().dispose();
                    }
                });
                frame.setVisible(true);
            }
        }
    }

    MyContacts() {
        myPaneone = new MyPanelone("communication", 250, 60, 60);
        //myPaneone.setSize(1000, 150);
        this.add(myPaneone);
        for(int i=0;i<7;i++) {
            jPanels[i] = new JPanel();
        }

        jLabels[0] = new JLabel("姓名");
        jLabels[1] = new JLabel("邮政编码");
        jLabels[2] = new JLabel("通信地址");
        jLabels[3] = new JLabel("电话");
        jLabels[4] = new JLabel("手机");
        jLabels[5] = new JLabel("电子邮件");

        jButtons[0] = new JButton("添加");
        jButtons[1] = new JButton("查找");
        jButtons[2] = new JButton("清空");
        jButtons[3] = new JButton("退出");

        for(int i=0;i<6;i++) {
            jTextFields[i] = new JTextField(50);
        }

        //设置布局管理
        this.setLayout(new GridLayout(8, 1));

        //加入各个组件
        for(int i=0;i<6;i++) {
            jPanels[i].add(jLabels[i]);
            jPanels[i].add(jTextFields[i]);
            this.add(jPanels[i]);
        }
        for(int i=0;i<4;i++) {
            jButtons[i].addActionListener(new MyActionListener());
            jPanels[6].add(jButtons[i]);
        }
        this.add(jPanels[6]);
    }

    public static void main(String[] args) {
        JFrame f = new MyContacts();
        f.setTitle(f.getClass().getSimpleName());
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setBounds(400, 200, 1000, 600);
        f.setVisible(true);
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Java实现简易界面通讯录

本文链接: https://www.lsjlt.com/news/147365.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现简易界面通讯录
    前言 这个也是Java实验课程的一个作业,和Java实现简单的图形界面计算器一起做的,因为以前没有做过GUI编程,所以做的非常简陋,还有很多BUG,但是感觉当个作业也够了。 程序功能...
    99+
    2024-04-02
  • C++实现简易通讯录功能
    目录实现功能一、定义通讯录和通讯录人员结构体二、实现通讯录输入菜单1.定义菜单函数:2.主函数循环体中循环展示菜单信息三、实现增删改查和清空通讯录功能四、运行截图展示本文实例为大家分...
    99+
    2024-04-02
  • AndroidStudio实现简易登录界面制作
    想要制作一个简易的登录界面非常容易,总体上来说就是UI布局、给定id、新建跳转的页面、以及输入账号密码的获取与判断,那么接下来就开始制作吧! 1.首先就是Activity中的组件布...
    99+
    2024-04-02
  • C语言实现简易通讯录实例
    目录一、问题描述二、功能介绍二、实现流程1.创建通讯录2.创建源文件test.c3.创建源文件contact.c4.删除通讯录联系人信息 (DelContact函数实现)5...
    99+
    2024-04-02
  • 通过数据结构实现简易通讯录
    AddressBookTest是测试类package MyADB;import java.util.InputMismatchException;import java.util.Scanner;class InstructionsMist...
    99+
    2023-06-02
  • Android Studio如何实现简易登录界面
    这篇文章主要介绍“Android Studio如何实现简易登录界面”,在日常操作中,相信很多人在Android Studio如何实现简易登录界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-30
  • java实现简易的计算器界面
    如何用java写一个简易的计算器界面,供大家参考,具体内容如下 前言(与本节重点无关可以忽视) 最近了解了一些界面窗口知识,在老师一步步的悉心教导下我却又一次地走向了迷茫&mdash...
    99+
    2024-04-02
  • C语言链表实现简易通讯录
    本文实例为大家分享了C语言链表实现简易通讯录的具体代码,供大家参考,具体内容如下 链表实现通讯录功能: 1.添加–(输入 姓名,电话) 2.删除-- (输入人名,删除该人) 3.查询...
    99+
    2024-04-02
  • C++实现简易通讯录管理系统
    目录前言结构体联系人结构体通讯录结构体函数模块菜单添加联系人显示联系人判断联系人删除联系人查找联系人清空所有联系人main函数源代码运行结果本文实例为大家分享了C++实现简易通讯录管...
    99+
    2024-04-02
  • C++如何实现简易通讯录功能
    这篇文章主要讲解了“C++如何实现简易通讯录功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++如何实现简易通讯录功能”吧!实现功能提示:这里可以添加本文要记录的大概内容:通过c++语法...
    99+
    2023-07-02
  • C++实现简易的通讯录管理系统
    本文实例为大家分享了C++实现简易通讯录管理系统的具体代码,供大家参考,具体内容如下 1. 效果图 2. 需要的知识 C++基础知识(包括变量,运算符,顺序,分支,循环)数组函数指...
    99+
    2024-04-02
  • java如何实现简单登录界面
    本文小编为大家详细介绍“java如何实现简单登录界面”,内容详细,步骤清晰,细节处理妥当,希望这篇“java如何实现简单登录界面”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、概要我们可以用java实现简单的登...
    99+
    2023-06-30
  • C++如何实现简易通讯录管理系统
    这篇文章主要介绍“C++如何实现简易通讯录管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++如何实现简易通讯录管理系统”文章能帮助大家解决问题。前言建议收藏,亲手写一遍代码,感受指针神奇的...
    99+
    2023-07-02
  • C语言实现简易通讯录完整流程
    目标:通讯录可以存放1000个人信息,人的信息:性别名字年龄电话住址 菜单打印 1.增加联系人 2.删除联系人 3.查找联系人(修改) 4.名字排序联系人 5.展示 6.清空 分析:...
    99+
    2024-04-02
  • C++简易通讯录系统实现流程详解
    目录实现功能定义通讯录和通讯录人员结构体实现通讯录输入菜单1.定义菜单函数:2.主函数循环体中循环展示菜单信息实现增删改查和清空通讯录功能运行截图展示实现功能 提示:这里可以添加本文...
    99+
    2024-04-02
  • JavaScript实现简易QQ聊天界面
    本文实例为大家分享了JavaScript实现简易QQ聊天界面的具体代码,供大家参考,具体内容如下 题目: 制作一个简易聊天界面,当用户在界面下方的文本框中输入信息后,点击发送按钮,文...
    99+
    2024-04-02
  • Qt实现简易QQ聊天界面
    本文实例为大家分享了Qt实现简易QQ聊天界面的具体代码,供大家参考,具体内容如下 代码 myDialog.h #ifndef MAINWINDOW_H #define MAINWIN...
    99+
    2024-04-02
  • jsp实现简易登录页面
    一.简单的登陆功能 输入用户名admin  密码admin后,显示弹出窗“登陆成功”,否则显示“登录失败” 这里需要一个登陆页面和一个处理页面,主要用到request.getParameter方法,代码(logn.jsp): ...
    99+
    2023-10-08
    java servlet 开发语言 tomcat
  • 怎么用C语言脚本实现简易通讯录
    这篇文章主要介绍“怎么用C语言脚本实现简易通讯录”,在日常操作中,相信很多人在怎么用C语言脚本实现简易通讯录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C语言脚本实现简易通讯录”的疑惑有所帮助!接下来...
    99+
    2023-06-29
  • android实现简易登录注册界面及逻辑设计
    本文实例为大家分享了android实现登录注册界面及逻辑设计,供大家参考,具体内容如下 1. 第一步 新建文件(相信各位码农一定会这一步)略。 2. 第二步 登录注册界面设计 登录界...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作