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

📄 countrytest.java

📁 用java写的一个研究生班级通讯录程序,可从文件导入及导出,界面美观.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
     */
    public void browseButton_mouseClicked(MouseEvent e) {
        TabbedPane.setSelectedIndex(3);
    }

    /**
     * 工具栏按钮
     * 排序按钮的事件
     * @param e MouseEvent
     */
    public void sortButton_mouseClicked(MouseEvent e) {
        TabbedPane.setSelectedIndex(2);
    }

    /**
     * 操作菜单项
     * 排序菜单的事件
     * @param e MouseEvent
     */
    public void sortMenuItem_mouseClicked(MouseEvent e) {
        TabbedPane.setSelectedIndex(2);
    }

    /**
     * 添加面板的按钮
     * 添加按钮的事件
     * @param e
     */
    public void addCountryButton_mouseClicked(MouseEvent e) {
        if(addNameTextField.getText().trim().equals("")){
             Util.showMessageDialog("错误提示","请输入姓名",null);
             addNameTextField.setFocusable(true);
             return;
        }
        if(addAreaTextField.getText().trim().equals("")){
             Util.showMessageDialog("错误提示","请输入手机",null);
             addAreaTextField.setFocusable(true);
             return;
        }
        if(addPopuTextField.getText().trim().equals("")){
             Util.showMessageDialog("错误提示","请输入籍贯",null);
             addPopuTextField.setFocusable(true);
             return;
        }
        country = new Country(addNameTextField.getText().trim(),addAreaTextField.getText().trim(),addPopuTextField.getText().trim());
        countryList.add(country);

        //更新显示
        dataChangeActionListener();
        showMsgInStatus("记录: "+addNameTextField.getText()+"添加成功!");
        addNameTextField.setText("");
        addAreaTextField.setText("");
        addPopuTextField.setText("");
        JOptionPane.showMessageDialog(null,"添加成功","系统提示",1,null);
    }

    /**
     * 查询面板的按钮
     * 查询按钮的事件
     * @param e
     */
    public void searchCountryButton_mouseClicked(MouseEvent e) {
        if(searchNameTextField.getText().trim().equals("")){
             Util.showMessageDialog("错误提示","请输入姓名",null);
             searchNameTextField.setFocusable(true);
             return;
        }
        int flag = 0;
        it = countryList.iterator();
        while(it.hasNext()){
            country = (Country)it.next();
            if(country.getName().equals(searchNameTextField.getText().trim())){
                JOptionPane.showMessageDialog(null,
                        " 姓名:"+country.getName()+" " +
                        " 手机:"+country.getArea()+" " +
                        " 籍贯:"+country.getPopulation(),
                        "系统提示",1,null);
                flag = 1;
                break;
            }
        }
        if(flag==0){
            JOptionPane.showMessageDialog(null,"找不到和 '"+searchNameTextField.getText()+"' 相匹配的名字","系统提示",1,null);
             //更新显示
            showMsgInStatus("找不到相符合的记录!");
        }
    }

    /**
     * 删除面板的按钮
     * 删除按钮的事件
     * @param e
     */
    public void delCountryButton_mouseClicked(MouseEvent e) {
        if(deleteNameTextField1.getText().trim().equals("")){
             JOptionPane.showMessageDialog(null,"没有记录可以删除!","系统提示",1,null);
             showMsgInStatus("无任何记录!");
             deleteNameTextField1.setFocusable(true);
             return;
        }
        int flag = 0;
        it = countryList.iterator();
        while(it.hasNext()){
            country = (Country)it.next();
            if(country.getName().equals(deleteNameTextField1.getText().trim())){
                countryList.remove(country);
                //更新显示
                dataChangeActionListener();
                showMsgInStatus("记录: "+deleteNameTextField1.getText()+"删除成功!");
                deleteNameTextField1.setText("");
                deleteAreaTextField.setText("");
                deletePopuTextField.setText("");
                browseNameTextField.setText("");
                browseAreaTextField.setText("");
                browsePopuTextField.setText("");
                if(countryList.size()>0){
                    displayList.setSelectedIndex(2);
                }
                flag = 1;
                JOptionPane.showMessageDialog(null,"删除成功!","系统提示",1,null);
                break;
            }
        }
        if(flag==0){
            JOptionPane.showMessageDialog(null,"找不到和'"+deleteNameTextField1.getText()+"' 相匹配的名字!","系统提示",1,null);
            showMsgInStatus("找不到相符合的记录!");
        }

    }

    /**
     * 排序面板的按钮
     * 排序按钮的事件
     * @param e
     */
    public void sortCountryButton_mouseClicked(MouseEvent e) {
         if(sortByNameRadioButton.isSelected()){
             Comparator comp = new SortByName(true);
             if(isAscendCheckBox.isSelected()){
                comp = new SortByName(true);
             }
             else{
                comp = new SortByName(false);
             }
             Collections.sort(countryList,comp);
             dataChangeActionListener();
         }
        if(sortByAreaRadioButton.isSelected()){
             Comparator comp;
            if(isAscendCheckBox.isSelected()){
                comp = new SortByArea(true);
             }
             else{
                comp = new SortByArea(false);
             }
             comp = new SortByArea(true);
             Collections.sort(countryList,comp);
             dataChangeActionListener();
         }
         if(sortByPopuRadioButton.isSelected()){
             Comparator comp;
             if(isAscendCheckBox.isSelected()){
                comp = new SortByPoPulation(true);
             }
             else{
                comp = new SortByPoPulation(false);
             }
             comp = new SortByPoPulation(true);
             Collections.sort(countryList,comp);
             dataChangeActionListener();
         }
    }

    /**
     * 浏览面板的按钮
     * 第一条按钮的事件
     * @param e
     */
    public void firstRecordButton_mouseClicked(MouseEvent e) {
        if(countryList.size()>0){
             country =(Country)countryList.get(0);
             browseNameTextField.setText(country.getName());
             browseAreaTextField.setText(country.getArea());
             browsePopuTextField.setText(country.getPopulation());
             displayList.setSelectedIndex(2);
        }
        else{
            JOptionPane.showMessageDialog(null,"没有任何记录!","系统提示",1,null);
            showMsgInStatus("无任何记录!");
        }
    }

    /**'
     * 浏览面板的按钮
     * 上一条按钮的事件
     * @param e
     */
    public void priorRecordButton_mouseClicked(MouseEvent e) {
        if(countryList.size()>0){
            if(pos>=0){
                if(pos==countryList.size()){
                    if(countryList.size()>1){
                        pos=countryList.size()-2;
                    }
                    else{
                        pos=countryList.size()-1;
                    }
                }
                 country =(Country)countryList.get(pos);
                 browseNameTextField.setText(country.getName());
                 browseAreaTextField.setText(country.getArea());
                 browsePopuTextField.setText(country.getPopulation());
                 displayList.setSelectedIndex(pos+2);
                 pos--;
            }
            else{
                 Util.showMessageDialog("系统提示","已经到了记录首条!",null);
                 showMsgInStatus("已经到了记录首条!");
            }
        }
        else{
            JOptionPane.showMessageDialog(null,"没有任何记录!","系统提示",1,null);
            showMsgInStatus("无任何记录!");
        }
    }

    /**
     * 浏览面板的按钮
     * 下一条按钮的事件
     * @param e
     */
    public void nextRecordButton_mouseClicked(MouseEvent e) {
        if(countryList.size()>0){
            if(pos<countryList.size()){
                if(pos==-1){
                    if(countryList.size()>1){
                        pos = 1;
                    }
                    else{
                         pos = 0;
                    }
                }
                 country =(Country)countryList.get(pos);
                 browseNameTextField.setText(country.getName());
                 browseAreaTextField.setText(country.getArea());
                 browsePopuTextField.setText(country.getPopulation());
                 displayList.setSelectedIndex(pos+2);
                 pos++;
            }
            else{
                 Util.showMessageDialog("系统提示","已经到了记录末条!",null);
            }
        }
        else{
            JOptionPane.showMessageDialog(null,"没有任何记录!","系统提示",1,null);
            showMsgInStatus("无任何记录!");
        }
    }

    /**
     * 浏览面板的按钮
     * 最后一条按钮的事件
     * @param e
     */
    public void lastRecordButton_mouseClicked(MouseEvent e) {
        if(countryList.size()>0){
             country =(Country)countryList.get(countryList.size()-1);
             browseNameTextField.setText(country.getName());
             browseAreaTextField.setText(country.getArea());
             browsePopuTextField.setText(country.getPopulation());
             displayList.setSelectedIndex(countryList.size()+1);
        }
        else{
            JOptionPane.showMessageDialog(null,"没有任何记录!","系统提示",1,null);
            showMsgInStatus("无任何记录!");
        }
    }

    /**
     * 从文件中读取内容并赋给数组
     * @param file
     */
    private void readFiletoArrayList(File file){
        try{
            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
            String data = null;
            String[] resut;
            StringBuffer buffer = new StringBuffer();
            Country myCountry;
            countryList.clear();
            displayList.removeAll();
            dataChangeActionListener();
            while((data = reader.readLine())!=null){
                 resut = Util.parseCSVLine(data);
                 try{
                        myCountry = new Country(resut[0],resut[1],resut[2]);
                        countryList.add(myCountry);
                 }catch(java.lang.IndexOutOfBoundsException iout){
                        Util.showMessageDialog("出错提示","文件结构错误,不能正常读取!",null);
                        showMsgInStatus(file.getName()+"文件结构错误,不能正常读取!");
                        reader.close();
                        return;
                 }
             }
            if(countryList.size()>0){
                index = 2;
                displayList.setSelectedIndex(index);
                saveFileMenuItem.setEnabled(true);
                closeFileMenuItem.setEnabled(true);
            }
            //关闭输入流
             if(reader!=null){
                 reader.close();
                 //更新显示
                 dataChangeActionListener();
                 showMsgInStatus(file.getName()+"文件已打开");
             }
        }catch(IOException e){
             Util.showMessageDialog("出错提示","打开文件错误!",null);
             showMsgInStatus(file.getName()+"打开文件错误!");
             throw new RuntimeException(e);
        }
    }

    /**
     * 打开文件的事件监听器
     */
    class openFileActionListener implements ActionListener{
        public void actionPerformed(ActionEvent e){
            JFileChooser jc = new JFileChooser();
            int rVal = jc.showOpenDialog(CountryTest.this);
            if(rVal == JFileChooser.APPROVE_OPTION){
                File openFileName;
                File dir = jc.getCurrentDirectory();
                File file = jc.getSelectedFile();
                openFileName = new File(dir,file.getName());
                readFiletoArrayList(openFileName);
            }
        }
    }

    /**
     * 保存文件的事件监听器
     */
    class saveFileActionListener implements ActionListener{
          public void actionPerformed(ActionEvent event){
                int sel = JOptionPane.showConfirmDialog(null,
                          "需要保存数据吗?",
                          "保存提示",
                          JOptionPane.YES_NO_OPTION);
                if(sel == JOptionPane.YES_OPTION){
                    try{
                        File saveFileName = null;
                        JFileChooser jc = new JFileChooser();
                        int rVal = jc.showSaveDialog(CountryTest.this);
                        if(rVal == JFileChooser.APPROVE_OPTION){
                            File dir = jc.getCurrentDirectory();
                            File file = jc.getSelectedFile();
                            saveFileName = new File(dir,file.getName());
                        }
                        PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(saveFileName),"GBK"));
                        String data = null;
                        String[] resut;
                        Country myCountry;
                        String result;
                        for(int i=0;i<countryList.size();i++){
                            myCountry = (Country)countryList.get(i);

⌨️ 快捷键说明

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