📄 frame2.java
字号:
package myjava;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;
/**
* <p>Title: JAVA课程设计</p>
* <p>Description: 实习3</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: 湖南农业大学</p>
* @author 温小林
* @version 1.0
*/
class sort extends Thread
{
JTextArea sjt;
JTextArea object;
int option;
int[] sz;
public sort(JTextArea sjt,JTextArea object,int option)
{
this.sjt=sjt;
this.option=option;
this.object=object;
String[] temp=sjt.getText().split(",");
this.sz=new int[temp.length];
for(int i=0;i<temp.length;i++)
sz[i]=Integer.parseInt(temp[i]);
}
public void mp(int[] a) //冒泡排序
{
int temp;
for (int k = 0; k < 50000; k++)
for (int i = 0; i < a.length; i++)
{
for (int j = i; j < a.length - 1; j++)
{
if (a[j + 1] > a[j])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}
}
public void ch(int[] a) //选择排序
{
int temp;
for (int k = 0; k < 50000; k++)
for (int i = 0; i < a.length-1; i++)
{
for (int j = i+1; j < a.length; j++)
{
if (a[j] > a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
public void quick(int[] a)
{
Frame2 s = new Frame2();
int t=a.length-1;
for (int k = 0; k < 50000; k++) {
s.quicksort(a, 0, t);
}
}
public void run()
{
long begin = System.currentTimeMillis();
switch(option)
{
case 1: mp(sz);
for (int i = 0; i < sz.length; i++)
{
object.append(sz[i]+" ");
}
System.out.println("");
break;
case 2:quick(sz);
for (int i = 0; i < sz.length; i++)
{
object.append(sz[i]+" ");
}
System.out.println("");
break;
case 3: ch(sz);
for (int i = 0; i < sz.length; i++)
{
object.append(sz[i]+" ");
}
System.out.println("");
break;
}
long end = System.currentTimeMillis();
object.append("\n用时:"+String.valueOf(end-begin));
}
}
public class Frame2 extends JFrame {
JPanel contentPane;
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel1 = new JLabel();
JTextArea jTextArea7 = new JTextArea();
JLabel jLabel3 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextArea jTextArea6 = new JTextArea();
JLabel jLabel4 = new JLabel();
JTextArea jTextArea5 = new JTextArea();
JLabel jLabel5 = new JLabel();
JTextArea jTextArea3 = new JTextArea();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
TitledBorder titledBorder1;
TitledBorder titledBorder2;
TitledBorder titledBorder3;
TitledBorder titledBorder4;
JLabel jLabel6 = new JLabel();
JButton jButton3 = new JButton();
public void quicksort(int a[], int low, int high) //快速排序
{
int pivot;
if (low < high)
{
pivot = partition(a, low, high);
quicksort(a, low, pivot - 1);
quicksort(a, pivot + 1, high);
}
}
public int partition(int b[], int low, int high)
{
int pivot, p_pos, iii;
p_pos = low;
pivot = b[p_pos];
for (iii = low + 1; iii <= high; iii++)
{
if (b[iii] > pivot)
{
p_pos++;
swap(b, p_pos, iii);
}
}
swap(b, low, p_pos);
return p_pos;
}
public void swap(int a[], int ii, int jj)
{
int tmp = a[ii];
a[ii] = a[jj];
a[jj] = tmp;
}
//Construct the frame
public Frame2() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
titledBorder1 = new TitledBorder("");
titledBorder2 = new TitledBorder("");
titledBorder3 = new TitledBorder("");
titledBorder4 = new TitledBorder("");
jTextArea7.setText("12,45,36,68,29,17,10,32,30,10,50,96,48,67,30,126,965,41,43,48");
jTextArea7.setBorder(BorderFactory.createLineBorder(Color.black));
jLabel1.setText("请输入数组。并用“逗号”分开!");
jLabel1.setDisplayedMnemonic('0');
jLabel1.setRequestFocusEnabled(true);
jLabel1.setPreferredSize(new Dimension(159, 18));
jLabel1.setDoubleBuffered(false);
jLabel1.setFont(new java.awt.Font("Dialog", 0, 12));
contentPane.setLayout(xYLayout1);
this.setResizable(false);
this.setSize(new Dimension(385, 335));
this.setTitle("Frame Title");
jLabel3.setText("....................................................................................................." +
".....................");
jLabel2.setFont(new java.awt.Font("Dialog", 0, 12));
jLabel2.setToolTipText("");
jLabel2.setText("冒泡排序法");
jTextArea6.setBorder(BorderFactory.createLineBorder(Color.black));
jTextArea6.setText("系统等待中。。。");
jLabel4.setText("快速排序法");
jLabel4.setToolTipText("");
jLabel4.setFont(new java.awt.Font("Dialog", 0, 12));
jTextArea5.setBorder(BorderFactory.createLineBorder(Color.black));
jTextArea5.setText("系统等待中。。。");
jLabel5.setText("选择排序法");
jLabel5.setToolTipText("");
jLabel5.setFont(new java.awt.Font("Dialog", 0, 12));
jTextArea3.setBorder(BorderFactory.createLineBorder(Color.black));
jTextArea3.setText("系统等待中。。。");
jButton1.setFont(new java.awt.Font("Dialog", 0, 12));
jButton1.setBorder(BorderFactory.createEtchedBorder());
jButton1.setText("开 始");
jButton1.addActionListener(new Frame2_jButton1_actionAdapter(this));
jButton2.setText("退 出");
jButton2.addActionListener(new Frame2_jButton2_actionAdapter(this));
jButton2.setFont(new java.awt.Font("Dialog", 0, 12));
jButton2.setBorder(BorderFactory.createEtchedBorder());
contentPane.setDoubleBuffered(true);
contentPane.setOpaque(true);
contentPane.setPreferredSize(new Dimension(384, 293));
contentPane.setRequestFocusEnabled(true);
jLabel6.setText("....................................................................................................." +
".....................");
jButton3.setFont(new java.awt.Font("Dialog", 0, 12));
jButton3.setBorder(BorderFactory.createLineBorder(Color.black));
jButton3.setText("产生随机数");
jButton3.addActionListener(new Frame2_jButton3_actionAdapter(this));
contentPane.add(jLabel1, new XYConstraints(7, 8, 180, 20));
contentPane.add(jTextArea7, new XYConstraints(8, 28, 366, 22));
contentPane.add(jLabel3, new XYConstraints(8, 53, 376, 13));
contentPane.add(jLabel2, new XYConstraints(8, 70, 139, -1));
contentPane.add(jTextArea6, new XYConstraints(8, 90, 363, 39));
contentPane.add(jLabel4, new XYConstraints(8, 135, 139, -1));
contentPane.add(jTextArea5, new XYConstraints(8, 155, 363, 39));
contentPane.add(jTextArea3, new XYConstraints(8, 221, 363, 39));
contentPane.add(jLabel5, new XYConstraints(8, 201, 139, -1));
contentPane.add(jLabel6, new XYConstraints(6, 260, 376, 13));
contentPane.add(jButton3, new XYConstraints(272, 6, 101, 19));
contentPane.add(jButton2, new XYConstraints(296, 278, 75, 25));
contentPane.add(jButton1, new XYConstraints(208, 278, 75, 25));
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void jButton2_actionPerformed(ActionEvent e) {
System.exit(0);
}
void jButton1_actionPerformed(ActionEvent e) {
jTextArea6.setText("");
jTextArea5.setText("");
jTextArea3.setText("");
sort s1=new sort(jTextArea7,jTextArea6,1);
s1.start();
sort s2=new sort(jTextArea7,jTextArea5,2);
s2.start();
sort s3=new sort(jTextArea7,jTextArea3,3);
s3.start();
return;
}
void jButton3_actionPerformed(ActionEvent e) {
jTextArea7.setText("");
int table[]=new int [20];
int i;
for(i=0;i<table.length;i++)
table[i]=(int)(Math.random()*100);
for(i=0;i<table.length;i++)
{
jTextArea7.append(table[i]+",");
}
}
}
class Frame2_jButton2_actionAdapter implements java.awt.event.ActionListener {
Frame2 adaptee;
Frame2_jButton2_actionAdapter(Frame2 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class Frame2_jButton1_actionAdapter implements java.awt.event.ActionListener {
Frame2 adaptee;
Frame2_jButton1_actionAdapter(Frame2 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
class Frame2_jButton3_actionAdapter implements java.awt.event.ActionListener {
Frame2 adaptee;
Frame2_jButton3_actionAdapter(Frame2 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton3_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -