设计GUI界面程序,实现以下功能

熟悉图形用户界面编程中的容器组件,基本组件。
设计GUI界面程序,实现以下功能:
1)创建一个可以移动、改变大小、最大化、且可以关闭的JFrame窗口;
2)设计并实现Java类,实现数组排序;
3)基于JList组件初始化显示内容;
4)添加“排序”按钮实现排序显示。
排序前:
设计GUI界面程序,实现以下功能_第1张图片
排序后:
设计GUI界面程序,实现以下功能_第2张图片

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.awt.event.ActionEvent;
class Listen implements ActionListener{
	public void actionPerformed(ActionEvent e) {  	//定义处理事件的方法
		String name=e.getActionCommand();			//返回与此动作相关的命令字符串
		if(name.equals("退出")){
			System.exit(0); //退出
		}
	}
}
public class Gui{
	public static void main (String[] args) {
		JPanel jp=new JPanel ( );									//面板布局设置为BoxLayout,沿r轴从上到下排列
		jp.setLayout (new BoxLayout (jp,BoxLayout.Y_AXIS));			//将JTextArea 添加到面板中
		JTextArea testArea_in=new JTextArea("",4,10);
		JTextArea testArea_out=new JTextArea("",4,10);

		JButton button1= new JButton ( "排序" ) ;
		JButton button2= new JButton ( "退出" ) ;
		
		jp.add (testArea_in);
		jp.add(new JScrollPane(testArea_in));
		
		jp.add(Box.createRigidArea(new Dimension(15, 15)));			//加一个空的组件将两个textarea分开
		
		jp.add (testArea_out);
		jp.add(new JScrollPane(testArea_out));
		
		JPanel jp2=new JPanel();									
		jp2.setLayout (new BoxLayout (jp2,BoxLayout.X_AXIS));
		jp2.add(button1);
		jp2.add (button2);
		jp.add(jp2);
		
		JFrame frm= new JFrame ( "AnySort") ;
		frm.setContentPane (jp);
		//替换掉默认的内容面板
		frm.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
		frm.setSize (300,500) ;
		frm.setVisible (true) ;

		Listen l = new Listen();
		button2.addActionListener(l);	//button2添加退出功能
		button1.addActionListener(e -> 	//button1添加排序功能
		{
			String text = testArea_in.getText(); 
			String[] str = text.split("\n"); 			
			int[] a = new int[str.length];
			for(int i = 0;i<str.length;i++)
			{
				a[i] = Integer.valueOf(str[i]).intValue();
			}
			Arrays.sort(a);
			for(int i = 0;i<str.length;i++)
			{
				testArea_out.append(String.valueOf(a[i]));
				testArea_out.append("\n");
			}			
		});
	}
}

你可能感兴趣的:(java)