Java图形界面程序编辑

编写图形界面的程序,接收用户输入的一个字符串和一个字符,将字符串中出现的所有改字符删除,打印输出新生成的结果字符串。

[code="java"]import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class ChangeStringForm extends JFrame {
JTextField stringField = new JTextField();
JTextField charField = new JTextField(4);

JButton convertButton = new JButton("convert");

JTextField resultField = new JTextField();

public ChangeStringForm() {
    JPanel inputPanel = new JPanel();
    JPanel resultPanel = new JPanel();

    this.getContentPane().setLayout(new GridLayout(3, 1));

    this.getContentPane().add(inputPanel);
    this.getContentPane().add(convertButton);
    this.getContentPane().add(resultPanel);

    inputPanel.setLayout(new BorderLayout());
    inputPanel.add(stringField, BorderLayout.CENTER);
    inputPanel.add(charField, BorderLayout.EAST);

    stringField.setToolTipText("Input a string");
    charField.setToolTipText("Input a char");

    resultPanel.setLayout(new BorderLayout());
    resultPanel.add(resultField, BorderLayout.CENTER);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(150, 200);
    this.setLocation(150, 200);
    this.setResizable(false);

    convertButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            String str = stringField.getText();
            String charStr = charField.getText();

            if (charStr.length() != 1) {
                JOptionPane.showMessageDialog(null,
                        "The length of char should be 1!");
                return;
            }

            // convert
            //  get char
            char c = charStr.charAt(0);

            //  convert string to chars
            char[] chars = str.toCharArray();

            StringBuffer sb = new StringBuffer();
            for (char eachchar : chars) {
                if (eachchar != c)
                    sb.append(eachchar);
            }

            resultField.setText(sb.toString());
        }

    });
}

public static void main(String args[]) {
    ChangeStringForm form = new ChangeStringForm();
    form.show();
}

}[/code]