瀏覽代碼

Update the material name with document listener

Toni Helenius 1 年之前
父節點
當前提交
3bec764d83

+ 0 - 3
jme3-materialeditor/src/com/jme3/gde/materials/multiview/MaterialEditorTopComponent.form

@@ -354,9 +354,6 @@
                           <ResourceString bundle="com/jme3/gde/materials/multiview/Bundle.properties" key="MaterialEditorTopComponent.jTextField1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
                         </Property>
                       </Properties>
-                      <Events>
-                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jTextField1ActionPerformed"/>
-                      </Events>
                     </Component>
                   </SubComponents>
                 </Container>

+ 26 - 13
jme3-materialeditor/src/com/jme3/gde/materials/multiview/MaterialEditorTopComponent.java

@@ -127,6 +127,32 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
         materialPreviewWidget1.showMaterial(manager, materialFileName);
 
         relativeMaterialFileName = manager.getRelativeAssetPath(materialFileName);
+        
+        jTextField1.getDocument().addDocumentListener(new DocumentListener() {
+            @Override
+            public void insertUpdate(DocumentEvent e) {
+                updateName();
+            }
+
+            @Override
+            public void removeUpdate(DocumentEvent e) {
+                updateName();
+            }
+
+            @Override
+            public void changedUpdate(DocumentEvent e) {
+                updateName();
+            }
+
+            private void updateName() {
+                if (materialFile != null) {
+                    materialFile.setName(jTextField1.getText());
+                    String string = materialFile.getUpdatedContent();
+                    jTextArea1.setText(string);
+                }
+            }
+
+        });
     }
 
     /** This method is called from within the constructor to
@@ -266,11 +292,6 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
         jToolBar3.add(jPanel1);
 
         jTextField1.setText(org.openide.util.NbBundle.getMessage(MaterialEditorTopComponent.class, "MaterialEditorTopComponent.jTextField1.text")); // NOI18N
-        jTextField1.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jTextField1ActionPerformed(evt);
-            }
-        });
         jToolBar3.add(jTextField1);
 
         jCheckBox1.setSelected(true);
@@ -360,14 +381,6 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
         saveImmediate = jCheckBox1.isSelected();
     }//GEN-LAST:event_jCheckBox1ActionPerformed
 
-    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
-        if (materialFile != null) {
-            materialFile.setName(jTextField1.getText());
-            String string = materialFile.getUpdatedContent();
-            jTextArea1.setText(string);
-        }
-    }//GEN-LAST:event_jTextField1ActionPerformed
-
     private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
         if (materialFile != null) {
             updateProperties = true;