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("冒泡排序法");
}
}