【Java】【组件及事件处理】使用sort方法对数组进行排序

在这里插入图片描述
MyFrame:

package com.itheima;
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame{
    
    
    JLabel label;
    JTextField text;
    JButton SortButton,ClearButton;
    JTextArea area;
    PoliceListen policeListen;
    public MyFrame() {
    
    
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    void init(){
    
    
        setLayout(new FlowLayout());
        label = new JLabel("输入数组内容,空格为数组元素分隔符");
        text = new JTextField(20);
        SortButton = new JButton("排序");
        ClearButton = new JButton("清除");
        area = new JTextArea(9,20);
        add(label);
        add(text);
        add(SortButton);
        add(ClearButton);
        add(new JScrollPane(area));
        policeListen = new PoliceListen();
        policeListen.setText(text);
        policeListen.setArea(area);
        policeListen.setClearButton(ClearButton);
        policeListen.setSortButton(SortButton);
        SortButton.addActionListener(policeListen);
        ClearButton.addActionListener(policeListen);
    }
}

PoliceListen:

package com.itheima;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Array;
import java.util.Arrays;

import static java.util.Arrays.*;

public class PoliceListen implements ActionListener {
    
    
    JTextField text;
    JButton SortButton,ClearButton;
    JTextArea area;

    public void setText(JTextField text) {
    
    
        this.text = text;
    }

    public void setSortButton(JButton sortButton) {
    
    
        SortButton = sortButton;
    }

    public void setClearButton(JButton clearButton) {
    
    
        ClearButton = clearButton;
    }

    public void setArea(JTextArea area) {
    
    
        this.area = area;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
    
    
        if(e.getSource() == SortButton){
    
    
            String arrayStr = text.getText().trim();
            if(arrayStr.equals("")){
    
    //当文本框为空时,提示输入内容
                JOptionPane.showMessageDialog(null,"请输入数字内容");
            }
            for(int i=0;i<arrayStr.length();i++){
    
     //当文本框有非数字时,提示。
                char c = arrayStr.charAt(i);
                if(!Character.isDigit(c) && c != ' '){
    
    
                    JOptionPane.showMessageDialog(null,"输入包含非数字内容");
                    text.setText("");
                    return;
                }

            }
            String numStrs[] = arrayStr.split(" {1,}");
            area.setText("数组原有内容:\n");
            for(String str:numStrs){
    
    
                area.append(str + " ");
            }
            int numArray[] = new int[numStrs.length];
            for(int i=0;i<numArray.length;i++){
    
    
                numArray[i] = Integer.parseInt(numStrs[i]);
            }
            area.append("\n");
            sort(numArray);
            area.append("数组排序后的内容:\n");
            for(int i:numArray){
    
    
                area.append(i+ " ");
            }
        }
        if(e.getSource() == ClearButton){
    
    
            text.setText("");
            area.setText("");
        }

    }
}

Main:

package com.itheima;
public class Main {
    
    
    public static void main(String[] args) {
    
    
        MyFrame myFrame = new MyFrame();
        myFrame.setBounds(100,100,280,320);
        myFrame.setTitle("sort方法");

    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_48180029/article/details/112048058