2个文本区域,一个按钮,一个文本区域输入了文本,要求点击按钮,会把该文本区域的内容显示到另一个文本区域,请问按钮事件该怎么写(我要逐行读文本,因为要记录行号)?

解决方案 »

  1.   

    package untitled1;import java.awt.BorderLayout;
    import java.awt.Dimension;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import java.awt.*;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.text.BadLocationException;/**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2007</p>
     *
     * <p>Company: </p>
     *
     * @author not attributable
     * @version 1.0
     */
    public class Frame1 extends JFrame {
        JPanel contentPane;
        JTextArea jTextArea1 = new JTextArea();
        JTextArea jTextArea2 = new JTextArea();
        JButton jButton1 = new JButton();
        JLabel jLabel1 = new JLabel();
        JLabel jLabel2 = new JLabel();
        public Frame1() {
            try {
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                jbInit();
            } catch (Exception exception) {
                exception.printStackTrace();
            }
        }    /**
         * Component initialization.
         *
         * @throws java.lang.Exception
         */
        private void jbInit() throws Exception {
            contentPane = (JPanel) getContentPane();
            contentPane.setLayout(null);
            setSize(new Dimension(400, 300));
            setTitle("Frame Title");
            jTextArea1.setBounds(new Rectangle(21, 37, 244, 78));
            jTextArea2.setBounds(new Rectangle(22, 160, 245, 75));
            jButton1.setBounds(new Rectangle(292, 42, 80, 24));
            jButton1.setText("确定");
            jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
            jLabel1.setText("输入");
            jLabel1.setBounds(new Rectangle(23, 13, 72, 20));
            jLabel2.setText("输出");
            jLabel2.setBounds(new Rectangle(24, 136, 79, 20));
            contentPane.add(jTextArea1);
            contentPane.add(jTextArea2);
            contentPane.add(jButton1);
            contentPane.add(jLabel1);
            contentPane.add(jLabel2);
        }    public void jButton1_actionPerformed(ActionEvent e) {
            try{
                int x=0;
                int y=1;
                for (int i = 0; i < jTextArea1.getLineCount(); i++) {
                    do{
                        jTextArea2.append(jTextArea1.getText(x, y));
                        x += y;
                    }while(!jTextArea1.getText(x,y).equals(""));
                    jTextArea2.append("\b");
                }
            }catch(Exception ex){
                System.out.println("异常: " +ex);
            }
        }
    }
    class Frame1_jButton1_actionAdapter implements ActionListener {
        private Frame1 adaptee;
        Frame1_jButton1_actionAdapter(Frame1 adaptee) {
            this.adaptee = adaptee;
        }    public void actionPerformed(ActionEvent e) {
            adaptee.jButton1_actionPerformed(e);
        }
    }测试通过........
    接分..