- Material editor : made TextPanel widget to trigger property change when the field looses focus. It was only triggering it when you pressed enter in the field. (at least on Windows 7, it can be different on other OS)

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7965 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
rem..om 14 years ago
parent 27e3256577
commit 5af2fb3fbb
  1. 12
      sdk/jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TextPanel.form
  2. 30
      sdk/jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TextPanel.java

@ -21,7 +21,7 @@
<Layout> <Layout>
<DimensionLayout dim="0"> <DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="jToolBar1" alignment="0" pref="185" max="32767" attributes="0"/> <Component id="jToolBar1" alignment="0" pref="638" max="32767" attributes="0"/>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
<DimensionLayout dim="1"> <DimensionLayout dim="1">
@ -47,6 +47,12 @@
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="com/jme3/gde/materials/multiview/widgets/Bundle.properties" key="TextPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> <ResourceString bundle="com/jme3/gde/materials/multiview/widgets/Bundle.properties" key="TextPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property> </Property>
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[60, 14]"/>
</Property>
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[60, 14]"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[100, 16]"/> <Dimension value="[100, 16]"/>
</Property> </Property>
@ -65,7 +71,7 @@
<Layout> <Layout>
<DimensionLayout dim="0"> <DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<EmptySpace min="0" pref="4" max="32767" attributes="0"/> <EmptySpace min="0" pref="336" max="32767" attributes="0"/>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
<DimensionLayout dim="1"> <DimensionLayout dim="1">
@ -89,6 +95,8 @@
</Properties> </Properties>
<Events> <Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="textChanged"/> <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="textChanged"/>
<EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="jTextField1FocusLost"/>
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="jTextField1KeyTyped"/>
</Events> </Events>
</Component> </Component>
</SubComponents> </SubComponents>

@ -46,6 +46,8 @@ public class TextPanel extends MaterialPropertyWidget {
jToolBar1.setRollover(true); jToolBar1.setRollover(true);
jLabel1.setText(org.openide.util.NbBundle.getMessage(TextPanel.class, "TextPanel.jLabel1.text")); // NOI18N jLabel1.setText(org.openide.util.NbBundle.getMessage(TextPanel.class, "TextPanel.jLabel1.text")); // NOI18N
jLabel1.setMaximumSize(new java.awt.Dimension(60, 14));
jLabel1.setMinimumSize(new java.awt.Dimension(60, 14));
jLabel1.setPreferredSize(new java.awt.Dimension(100, 16)); jLabel1.setPreferredSize(new java.awt.Dimension(100, 16));
jToolBar1.add(jLabel1); jToolBar1.add(jLabel1);
@ -56,7 +58,7 @@ public class TextPanel extends MaterialPropertyWidget {
jPanel1.setLayout(jPanel1Layout); jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup( jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 4, Short.MAX_VALUE) .addGap(0, 336, Short.MAX_VALUE)
); );
jPanel1Layout.setVerticalGroup( jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@ -73,13 +75,23 @@ public class TextPanel extends MaterialPropertyWidget {
textChanged(evt); textChanged(evt);
} }
}); });
jTextField1.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jTextField1FocusLost(evt);
}
});
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField1KeyTyped(evt);
}
});
jToolBar1.add(jTextField1); jToolBar1.add(jTextField1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout); this.setLayout(layout);
layout.setHorizontalGroup( layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 185, Short.MAX_VALUE) .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 638, Short.MAX_VALUE)
); );
layout.setVerticalGroup( layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@ -88,10 +100,19 @@ public class TextPanel extends MaterialPropertyWidget {
}// </editor-fold>//GEN-END:initComponents }// </editor-fold>//GEN-END:initComponents
private void textChanged(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_textChanged private void textChanged(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_textChanged
property.setValue(jTextField1.getText()); property.setValue(jTextField1.getText());
fireChanged(); fireChanged();
}//GEN-LAST:event_textChanged }//GEN-LAST:event_textChanged
private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextField1KeyTyped
// TODO add your handling code here:
}//GEN-LAST:event_jTextField1KeyTyped
private void jTextField1FocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextField1FocusLost
property.setValue(jTextField1.getText());
fireChanged();
}//GEN-LAST:event_jTextField1FocusLost
@Override @Override
protected void readProperty() { protected void readProperty() {
java.awt.EventQueue.invokeLater(new Runnable() { java.awt.EventQueue.invokeLater(new Runnable() {
@ -99,7 +120,8 @@ public class TextPanel extends MaterialPropertyWidget {
public void run() { public void run() {
jLabel1.setToolTipText(property.getName() + " (" + property.getType() + ")"); jLabel1.setToolTipText(property.getName() + " (" + property.getType() + ")");
jLabel1.setText(property.getName() + " (" + property.getType() + ")"); jLabel1.setText(property.getName() + " (" + property.getType() + ")");
jTextField1.setText(property.getValue());
jTextField1.setText(property.getValue());
} }
}); });
} }

Loading…
Cancel
Save