Question

public class ParserGUI extends javax.swing.JFrame {
public ParserGUI() {
        initComponents();
    }
private void initComponents() {
comText = new JTextArea();
internToggle = new javax.swing.JToggleButton();
comText = new javax.swing.JTextArea();
ComText.setColumns(20);
ComText.setEditable(false);
ComText.setRows(5); 
ComText.setLineWrap(true);
ComText.setWrapStyleWord(true);
ComText.setText(uids.toString()); // uids includes the UID's

internToggle.setText("Nur interne");
        internToggle.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                InternToggleActionPerformed(evt);
            }
        });

private void internToggleActionPerformed(ActionEvent evt) {
        System.out.println("Intern");
    if (externToggle.isSelected()) {
        externToggle.setSelected(false);
    }

    if (internToggle.isSelected()) {
        String[] person = comText.getText().split("; ");
        StringBuffer newPerson = new StringBuffer();
        for (String string : person) {
            if (string.matches("((?i)u)([0-9]{6})")) {
                newPerson.append(string + "; ");
            }
        }
        comText.setText(newPerson.toString());
        }
    }

public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        // <editor-fold defaultstate="collapsed"
        // desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase
         * /tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager
                    .getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(ParserGUI.class.getName()).log(
                    java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(ParserGUI.class.getName()).log(
                    java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(ParserGUI.class.getName()).log(
                    java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(ParserGUI.class.getName()).log(
                    java.util.logging.Level.SEVERE, null, ex);
        }
        // </editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new ParserGUI().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JTextArea comText;
    private javax.swing.JToggleButton internToggle;
    // End of variables declaration

I want update my JTextArea (comText) with a click on the JToggleButton (internToggle). But when i click on the button, nothing changed.

I search in SO and in google, but all of the solutions doesn't work in my program.

What The Programm should do:
My TextArea contains a lot of different User-ID's uids.toString().

Example-Content: u100125; u100149; u100187; u100364; u110207; u110318; u111949; u112850; u114345; u117205; u118421; u119058; u123362; u128621; u143754; u147190; u149220; u149788; u149911; u160017; u160081; u161927; u162659; u163383; u165021; u165363; u165534; u165765; u166052; u166731; u166912; u200965; u201334; u201942; u202144; u202291; u202293; u202544; u202670; u202899; u202920; u202928; u202975; u203103; u203271; u203499; u203739; u203960; u204011; u204030; u204333; u204652; u205166; u205203; u205420; u205595; u206596; u206741; u207063; u207455; u207467; u207627; u207742; u207788; u207797; u208344; u208419; u208637; u208820; u209382; u209903; u210041; u210690; u210767; u210854; u210875; u212119; u213175; u213517; u213940; ue01545; ue03732; ue05728; ue06895; ue53655; ue54224; ue55155; ue55385; ue57760; ue58142;

Now I want to filter out the u-ID's from the ue-ID's with the toggle Button.

My method internToggleActionPerformed works. newPerson() contains all u-ID's. But the TextArea do nothing. How can I update the TextArea?

Was it helpful?

Solution 3

It's done.

It was a fault of my Eclipse. In my Company, we've an Eclipse with our own Plugins. The new Versions use GIT, but my small own Project was developed with SVN, which plugin was faulty. So all of my GUI-Application started, but got freeze then.

Anyway, thank you for your big Help!

OTHER TIPS

I have wrapped your code fragments into a runnable application, see http://pastebin.com/S2A3drXk. It works as expected, without the various calls to validate()/repaint()/pack(). I suggest to use this as a starting point and modify it step by step until you have added all your additional code.

Disclaimer: I very well know the Java naming conventions. My intention was to use the same listener as the OP, and I leave it up to the OP to get familiar with the Java naming and coding conventions and apply them appropriately.

Use this tutorial.

  1. Write a small program printing a text to console based on two toggle buttons.
  2. Once you see the print coming, add a text area and set the text into the text area also.
  3. Once that is also working add your regex parsing.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top