MyFrame:
package com.itheima;
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame{
JLabel label1,label2;
JTextField text;
JButton Button,ClearButton;
JTextArea area;
PoliceListen policeListen;
public MyFrame() {
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
setLayout(new FlowLayout());
label1 = new JLabel("输入数组内容,空格为数组元素分隔符");
label2 = new JLabel("数组元素反转");
text = new JTextField(20);
Button = new JButton("反转数组元素");
ClearButton = new JButton("清除");
area = new JTextArea(9,20);
add(label1);
add(text);
add(label2);
add(new JScrollPane(area));
add(Button);
add(ClearButton);
policeListen = new PoliceListen();
policeListen.setText(text);
policeListen.setArea(area);
policeListen.setButton(Button);
policeListen.setClearButton(ClearButton);
Button.addActionListener(policeListen);
ClearButton.addActionListener(policeListen);
}
}
PoliceListen:
package com.itheima;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import static java.util.Arrays.*;
public class PoliceListen implements ActionListener {
JTextField text;
JButton Button,ClearButton;
JTextArea area;
public void setText(JTextField text) {
this.text = text;
}
public void setButton(JButton Button) {
this.Button = Button;
}
public void setClearButton(JButton clearButton) {
ClearButton = clearButton;
}
public void setArea(JTextArea area) {
this.area = area;
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == Button){
String arrayStr = text.getText().trim();
if(arrayStr.equals("")){
//当文本框为空时,提示输入内容
JOptionPane.showMessageDialog(null,"请输入数字内容");
return;
}
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,}");
String temp;
for(int i=0;i<numStrs.length/2;i++){
temp = numStrs[i];
numStrs[i] = numStrs[numStrs.length - i - 1];
numStrs[numStrs.length - i - 1] = temp;
for(String str:numStrs){
area.append(str + " ");
}
area.append("\n");
}
}
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("反转数组");
}
}