„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum aktualisiert mein jTextArea nicht, nachdem er ein Array mithilfe von SwingPropertychangesupport geändert hat?

Warum aktualisiert mein jTextArea nicht, nachdem er ein Array mithilfe von SwingPropertychangesupport geändert hat?

Gepostet am 2025-02-07
Durchsuche:180

Why Does My JTextArea Not Update After Modifying an Array Using SwingPropertyChangeSupport?

SwingPropertychangesupport, um jtextarea

swwperPropertychangeS -Support dynamisch zu aktualisieren, ist eine Klasse, die verwendet werden kann, um Änderungen in den Eigenschaften eines Objekts zu überwachen. Auf diese Weise können andere Objekte benachrichtigt werden, wenn sich eine Eigenschaft ändert über einen Eingangsdialog eingegeben. Das Array ist ok aktualisiert, aber die GUI ist nicht aktualisiert.

Hier ist der geänderte Code:

import java.awt.borderLayout; import Java.awt.event.ActionEvent; import Java.awt.event.ActionListener; import Java.awt.event.focusListener; Import Java.beans.PropertyChangeEvent; Import Java.beans.PropertyChangelistener; import Javax.swing.jbutton; importieren javax.swing.jframe; import Javax.swing.joptionpane; import Javax.swing.jpanel; importieren javax.swing.jtextarea; import Javax.swing.event.swingPropertychangesupport; Hauptklasse Haupt { public static void main (String [] arg) { GuiForUpdate display = new Guiforupdate (); display.setVisible (true); } } Klasse Guiforupdate erweitert JFrame implementiert ActionListener { /** * */ private statische endgültige lange Serialversionuid = 1L; private FocusListener -Fokussierer; private Zeichenfolge mlist; Privat Jbutton ChangearRayButton; private jTextArea codeIn, DisplayOutput; private int arrayIndex; Private Jpanel DisplayPanel; private arrayforupdating arrayforUpdate = new Arrayforupdating (); public Guiforupdate () { SetSize (224, 180); layoutleft (); layoutDisplay (); layoutbottom (); } /** * Fügt einen Anzeigebereich für das Array hinzu */ public void layoutdisplay () { displayPanel = new jpanel (); add (displayPanel, borderLayout.Center); displayOutput = new jTextArea (); displayPanel.add (DisplayOutput); displayOutput.addfocusListener (FocusListener); mlist = arrayforUpdate.getBoundProperty (); ArrayforUpdate.Addpropertychangelistener (New PropertyChangelistener () { @Override public void PropertyChange (PropertyChangeEvent PCEVT) { if (pcevt.getPropertyName (). Equals (gleich ( ArrayforUpdating.bound_property)) { mlist = (pcevt.getNewValue (). toString ()); updatedisplay (); } } }); displayOutput.setText (mlist); } /** * Fügt links von der GUI die linken Seite Elemente hinzu */ public void layoutleft () { Jpanel links = new jpanel (); add (links, borderLayout.west); CodeIn = new JtextArea (2, 2); links.Add (CodeIn); CodeIn.AddfocusListener (FocusListener); } /** * Fügt die unteren Elemente zum Boden der GUI hinzu */ public void layoutbottom () { Jpanel boden = new jpanel (); echrenharraybutton = new Jbutton ("modify array"); echffallearraybutton.addactionListener (this); booth.add (echzenarraybutton); add (unten, BorderLayout.South); } /** * Schaltfläche zum Verarbeiten von Klicks */ public void actionperformed (actionEvent ae) { if (ae.getSource () == alchaNearraybutton) { // Überprüfen Sie zuerst, ob ein eingegebener Code eingab if (codein.getText (). trim (). Länge ()! = 0) { // Call modifyMemory () -Methode aufrufen modifyArray (); } anders Joptionpane.showmessagedialog (NULL, "Bitte geben Sie zuerst etwas ein."); } } /** * Methode zum Verarbeiten von Änderungen des Arrays */ public void modifyArray () { // Dialog anzeigen, um die eingegebene Adresse abzurufen String addresTomodify = (String) JOPTIONPANE .showinputDialog ("An welchem ​​Ort?"); // Bestätigen Sie, ob eine Zeichenfolge eingegeben wurde if ((addresTomodify! = null) & amp; & amp; (addresTomodify.length () & gt; 0)) { // Konvertieren Sie in Ganzzahl, wenn die Dezimaladresse eingegeben wurde arrayIndex = integer.parseInt (addresTomodify); } // als Ganzzahl bestehen processInput (arrayIndex); } public void processInput (int a) { String newValue = codeIn.getText (); ArrayforUpdate.Instructionsin (NewValue, a); } public void aktualisierte ISSPLAY () { displayOutput.setText (mlist); } } Klassenarrayforupdating { public static final String bound_property = "gebundene Eigenschaft"; private String boundProperty = ""; Private SwingPropertychangeSupport SPCSupport = New SwingPropertyChangeSupport ( Das); private StringBuilder mlist; privat int [] myarray; public arrayforupdating () { myarray = new int [5]; für (int i = 0; i & lt; myarray.length; i) { myarray [i] = 0; } setArrayyDisplaystring (); } /** * Methode zum Erstellen einer formatierten Array -Zeichenfolge */ public void setArrayyDisplaystring () { // StringBuilder für die Anzeige in der Registerkarte Speicher erstellen mlist = new StringBuilder ();
            
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3