[Java] [Component and event processing] Bubble sorting method

Insert picture description here
MyFrame:

package com.itheima;
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame{
    
    
    JTextArea area1,area2;
    JButton button1,button2,clearButton;
    PoliceListen policeListen;
    public MyFrame() {
    
    
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    void init(){
    
    
        setLayout(new FlowLayout());
        area1 = new JTextArea(9,30);
        area2 = new JTextArea(9,30);
        button1 = new JButton("生成随机数组");
        button2 = new JButton("排序");
        clearButton = new JButton("清除");
        add(new JScrollPane(area1));
        add(button1);
        add(new JScrollPane(area2));
        add(button2);
        add(clearButton);
        policeListen = new PoliceListen();
        policeListen.setArea1(area1);
        policeListen.setArea2(area2);
        policeListen.setButton1(button1);
        policeListen.setButton2(button2);
        policeListen.setClearButton1(clearButton);
        button1.addActionListener(policeListen);
        button2.addActionListener(policeListen);
        clearButton.addActionListener(policeListen);
    }
}

PoliceListen:

package com.itheima;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class PoliceListen implements ActionListener {
    
    
    JTextArea area1,area2;
    JButton button1,button2,clearButton;
    int Array[] = new int[10];
    Random random = new Random();
    public void setArea1(JTextArea area1) {
    
    
        this.area1 = area1;
    }

    public void setArea2(JTextArea area2) {
    
    
        this.area2 = area2;
    }

    public void setButton1(JButton button1) {
    
    
        this.button1 = button1;
    }

    public void setButton2(JButton button2) {
    
    
        this.button2 = button2;
    }

    public void setClearButton1(JButton clearButton) {
    
    
        this.clearButton = clearButton;
    }


    @Override
    public void actionPerformed(ActionEvent e) {
    
    
        if(e.getSource() == button1){
    
    
            area1.setText("");
            for (int i = 0; i < 10; i++) {
    
    
                Array[i] = random.nextInt(50);
                area1.append(Integer.toString(Array[i]) + " ");
            }
            area1.append("\n");
        }
        if(e.getSource() == button2){
    
    
            int temp;
            for(int i=1;i<Array.length;i++){
    
    
                for (int j = 0; j < Array.length - i; j++) {
    
    
                    if(Array[j] > Array[j+1]){
    
    
                        temp = Array[j];
                        Array[j] = Array[j+1];
                        Array[j+1] = temp;
                    }
                    area2.append(Array[j] + " ");
                }
                area2.append("【");
                for(int j=Array.length-i;j<Array.length;j++){
    
    
                    area2.append(Array[j] + " ");
                }
                area2.append("】\n");
            }
        }
        if(e.getSource() == clearButton){
    
    
            area1.setText("");
            area2.setText("");
        }

    }
}

Main:

package com.itheima;
public class Main {
    
    
    public static void main(String[] args) {
    
    
        MyFrame myFrame = new MyFrame();
        myFrame.setBounds(100,100,350,420);
        myFrame.setTitle("冒泡排序法");

    }
}

Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_48180029/article/details/112042334