dingchen0618 2008-10-13 20:00
浏览 349
已采纳

Java图形界面程序编辑

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

  • 写回答

1条回答 默认 最新

  • sptzone 2008-10-16 10:16
    关注

    [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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)
  • ¥66 比特币地址如何生成taproot地址
  • ¥20 数学建模数学建模需要