Java 点击按钮,通过jtextpane显示数据

Java 点击按钮,通过jtextpane显示数据,java,swing,Java,Swing,我现在有下面的swing表单,请您告知我希望生成并存储在StringWriter中的xml,我希望在点击名为generate的按钮时,相同的字符串显示在jtextpane本身中。请告知如何实现此目的 public class sdr { private JFrame frmArgonNetworkModel; private final JButton btnGenerateagonnetworkmodel = new JButton("GenerateAgonNetworkM

我现在有下面的swing表单,请您告知我希望生成并存储在StringWriter中的xml,我希望在点击名为generate的按钮时,相同的字符串显示在jtextpane本身中。请告知如何实现此目的

public class sdr {

    private JFrame frmArgonNetworkModel;
    private final JButton btnGenerateagonnetworkmodel = new JButton("GenerateAgonNetworkModel");
    private JTextField textField;
    private JTextField textField_1;
    private JTextField textField_2;
    private JTextField textField_3;
    private JTextField textField_4;
    private JTextField textField_5;
    private JTextField textField_6;
    private JTextField textField_7;
    private JTextField textField_8;
    private JTextField textField_9;
    private JTextField textField_10;
    private JTextField textField_11;
    private JLabel lblVer;
    private JTextField textField_12;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    sdr window = new sdr();
                    window.frmArgonNetworkModel.setVisible(true);

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public sdr() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frmArgonNetworkModel = new JFrame();
        frmArgonNetworkModel.getContentPane().setForeground(new Color(188, 143, 143));
        frmArgonNetworkModel.setForeground(new Color(245, 222, 179));
        frmArgonNetworkModel.setTitle("Argon Network Model");
        frmArgonNetworkModel.getContentPane().setBackground(UIManager.getColor("ToolBar.light"));
        frmArgonNetworkModel.getContentPane().setLayout(null);
        btnGenerateagonnetworkmodel.setBackground(new Color(224, 255, 255));
        btnGenerateagonnetworkmodel.setBounds(226, 358, 196, 29);

        frmArgonNetworkModel.getContentPane().add(btnGenerateagonnetworkmodel);

        JLabel lblNewLabel = new JLabel("Route CNA");
        lblNewLabel.setBounds(22, 11, 71, 14);
        frmArgonNetworkModel.getContentPane().add(lblNewLabel);

        JLabel lblTyp = new JLabel("typ");
        lblTyp.setBounds(22, 36, 71, 14);
        frmArgonNetworkModel.getContentPane().add(lblTyp);

        JLabel lblSkcna = new JLabel("sk_cna");
        lblSkcna.setBounds(22, 83, 71, 14);
        frmArgonNetworkModel.getContentPane().add(lblSkcna);

        JLabel lblSktyp = new JLabel("sk_typ");
        lblSktyp.setBounds(22, 108, 71, 14);
        frmArgonNetworkModel.getContentPane().add(lblSktyp);

        JLabel lblSkver = new JLabel("sk_ver");
        lblSkver.setBounds(22, 133, 71, 14);
        frmArgonNetworkModel.getContentPane().add(lblSkver);

        JLabel lblPrefilterfilename = new JLabel("prefilterfilename");
        lblPrefilterfilename.setBounds(22, 158, 105, 14);
        frmArgonNetworkModel.getContentPane().add(lblPrefilterfilename);

        textField = new JTextField();
        textField.setBounds(122, 8, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField);
        textField.setColumns(10);

        textField_1 = new JTextField();
        textField_1.setBounds(122, 33, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_1);
        textField_1.setColumns(10);

        textField_2 = new JTextField();
        textField_2.setBounds(122, 80, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_2);
        textField_2.setColumns(10);

        textField_3 = new JTextField();
        textField_3.setBounds(122, 105, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_3);
        textField_3.setColumns(10);

        textField_4 = new JTextField();
        textField_4.setBounds(122, 130, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_4);
        textField_4.setColumns(10);

        textField_5 = new JTextField();
        textField_5.setBounds(122, 155, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_5);
        textField_5.setColumns(10);

        JLabel lblNewLabel_1 = new JLabel("prefiltertype");
        lblNewLabel_1.setBounds(22, 183, 88, 14);
        frmArgonNetworkModel.getContentPane().add(lblNewLabel_1);

        textField_6 = new JTextField();
        textField_6.setBounds(122, 180, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_6);
        textField_6.setColumns(10);

        JLabel lblNewLabel_2 = new JLabel("postfilterfilename");
        lblNewLabel_2.setBounds(22, 208, 88, 14);
        frmArgonNetworkModel.getContentPane().add(lblNewLabel_2);

        textField_7 = new JTextField();
        textField_7.setBounds(122, 205, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_7);
        textField_7.setColumns(10);

        JLabel lblNewLabel_3 = new JLabel("postfiltertype");
        lblNewLabel_3.setBounds(22, 233, 86, 14);
        frmArgonNetworkModel.getContentPane().add(lblNewLabel_3);

        JLabel lblNewLabel_4 = new JLabel("xfm");
        lblNewLabel_4.setBounds(23, 258, 46, 14);
        frmArgonNetworkModel.getContentPane().add(lblNewLabel_4);

        textField_8 = new JTextField();
        textField_8.setBounds(122, 230, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_8);
        textField_8.setColumns(10);

        textField_9 = new JTextField();
        textField_9.setBounds(122, 255, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_9);
        textField_9.setColumns(10);

        JLabel lblNewLabel_5 = new JLabel("gelcatnumbersource");
        lblNewLabel_5.setBounds(22, 283, 116, 14);
        frmArgonNetworkModel.getContentPane().add(lblNewLabel_5);

        JLabel lblNewLabel_6 = new JLabel("gelcatnumbersink");
        lblNewLabel_6.setBounds(22, 308, 88, 14);
        frmArgonNetworkModel.getContentPane().add(lblNewLabel_6);

        textField_10 = new JTextField();
        textField_10.setBounds(122, 280, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_10);
        textField_10.setColumns(10);

        textField_11 = new JTextField();
        textField_11.setBounds(122, 305, 379, 20);
        frmArgonNetworkModel.getContentPane().add(textField_11);
        textField_11.setColumns(10);

        JTextPane textPane = new JTextPane();
        textPane.setBounds(22, 398, 652, 157);
        frmArgonNetworkModel.getContentPane().add(textPane);
        frmArgonNetworkModel.setBounds(100, 100, 711, 613);
        frmArgonNetworkModel.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        btnGenerateagonnetworkmodel.setActionCommand("generate");

        lblVer = new JLabel("Ver");
        lblVer.setBounds(22, 61, 46, 14);
        frmArgonNetworkModel.getContentPane().add(lblVer);

        textField_12 = new JTextField();
        textField_12.setBounds(122, 58, 377, 20);
        frmArgonNetworkModel.getContentPane().add(textField_12);
        textField_12.setColumns(10);
        btnGenerateagonnetworkmodel.addActionListener(new ButtonClickListener());
    }

    public class ButtonClickListener implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub

            if ("generate".equals(e.getActionCommand())) {
                // create the Route object // marshal to string
                // ...

                Route route = new Route();
                //route.setCna( "cnavalue" );
                route.setCna(textField.getText());
                // route.setTyp("typ");
                route.setTyp(textField_1.getText());
                //route.setVer("ver");
                route.setVer(textField_2.getText());
                //route.setSk_cna("sk_cna");
                route.setSk_cna(textField_3.getText());
                //route.setSk_typ("sk_typ");
                route.setSk_typ(textField_4.getText());             
                //route.setSk_ver("sk_ver");
                route.setSk_ver(textField_5.getText());             
                //route.setPrefilterfilename("prefilterfilename");
                route.setPrefilterfilename(textField_5.getText());
                //route.setPrefiltertype("prefiltertype");
                route.setPrefiltertype(textField_6.getText());
                //route.setPostfilterfilename("postfilterfilename");
                route.setPostfilterfilename(textField_7.getText());
                //route.setPostfiltertype("postfiltertype");
                route.setPostfiltertype(textField_8.getText());
                //route.setGelcatnumbersource("gelcatnumbersource");
                route.setGelcatnumbersource(textField_9.getText());
                //route.setGelcatnumbersink("gelcatnumbersink");
                //route.setGelcatnumbersink(textField_9.getText());
                route.setGelcatnumbersink(textField_10.getText());

                try 
                {
                JAXBContext jc = JAXBContext.newInstance( Route.class );
                Marshaller m = jc.createMarshaller();
                m.setProperty( "jaxb.fragment", true );
                StringWriter sw = new StringWriter();
                m.marshal( route, sw );
                   System.out.println( sw.toString() );
                }catch(Exception ee)
                {ee.printStackTrace();
            }


        }

    }


}
}

我不确定我是否理解正确,但如果您只想在按下按钮后向JTextField添加字符串,则应使用以下命令:

button.addActionListener(new ActionListener() 
{
        @Override
        public void actionPerformed(ActionEvent e)
        {
               textField.setText(yourString);
        }
});

请记住,您的文本字段应该是最终的,上面的代码只是实现这一点的一种方法。您还可以创建一个新类,该类实现ActionListener接口,并可以访问要在组件中双关的按钮、jtextfield和字符串

添加路由类。这可能不是必需的,但如果不运行代码,就很难解释该做什么。