Browse Source

makes most widgets resizable. center pane is still a bit greedy. the colorpanel isn't adjusting well for some reason.

rickard 2 years ago
parent
commit
86ea7ba1ac
16 changed files with 156 additions and 164 deletions
  1. 47 69
      jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java
  2. 6 4
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/MaterialEditorTopComponent.form
  3. 7 6
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/MaterialEditorTopComponent.java
  4. 30 9
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/ColorPanel.form
  5. 16 9
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/ColorPanel.java
  6. 4 1
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/FloatPanel.form
  7. 2 2
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/FloatPanel.java
  8. 1 1
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/IntPanel.form
  9. 1 2
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/IntPanel.java
  10. 0 1
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/MaterialPreviewWidget.java
  11. 12 23
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/SelectionPanel.form
  12. 8 23
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/SelectionPanel.java
  13. 5 2
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TextPanel.form
  14. 3 2
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TextPanel.java
  15. 8 5
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TexturePanel.form
  16. 6 5
      jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TexturePanel.java

+ 47 - 69
jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java

@@ -46,7 +46,6 @@ import com.jme3.math.Quaternion;
 import com.jme3.math.Vector3f;
 import com.jme3.renderer.RendererException;
 import com.jme3.scene.Geometry;
-import com.jme3.scene.Spatial;
 import com.jme3.scene.shape.Box;
 import com.jme3.scene.shape.Quad;
 import com.jme3.scene.shape.Sphere;
@@ -59,8 +58,9 @@ import javax.swing.ImageIcon;
 import javax.swing.JLabel;
 
 /**
- * Handles rendering of materials in preview widgets of Material and Shader Node editor.
- * 
+ * Handles rendering of materials in preview widgets of Material and Shader Node
+ * editor.
+ *
  * @author Nehon
  */
 public class MaterialPreviewRenderer implements SceneListener {
@@ -108,14 +108,14 @@ public class MaterialPreviewRenderer implements SceneListener {
         quad = new Geometry("previewQuad", quadMesh);
         quad.setLocalTranslation(new Vector3f(-2.25f, -2.25f, 0));
         MikktspaceTangentGenerator.generate(quad);
-        
+
         teapot = (Geometry) SceneApplication.getApplication().getAssetManager()
                 .loadModel("Models/Teapot/Teapot.obj");
         teapot.scale(3.5f);
         teapot.rotate(FastMath.PI, -FastMath.QUARTER_PI * 0.5f, -0.0f);
         teapot.setLocalTranslation(new Vector3f(-0.5f, 1.75f, 0));
         MikktspaceTangentGenerator.generate(teapot);
-        
+
         currentGeom = sphere;
         init = true;
     }
@@ -125,19 +125,14 @@ public class MaterialPreviewRenderer implements SceneListener {
         if (!init) {
             init();
         }
-        exec.execute(new Runnable() {
-
-            @Override
-            public void run() {
-                MaterialKey key = new MaterialKey(assetManager.getRelativeAssetPath(materialFileName));
-                assetManager.deleteFromCache(key);
-                Material mat = assetManager.loadAsset(key);
-                if (mat != null) {
-                    showMaterial(mat);
-                }
+        exec.execute(() -> {
+            MaterialKey key = new MaterialKey(assetManager.getRelativeAssetPath(materialFileName));
+            assetManager.deleteFromCache(key);
+            Material mat = assetManager.loadAsset(key);
+            if (mat != null) {
+                showMaterial(mat);
             }
         });
-        
 
     }
 
@@ -149,46 +144,36 @@ public class MaterialPreviewRenderer implements SceneListener {
         if (!init) {
             init();
         }
-        SceneApplication.getApplication().enqueue(new Callable<Material>() {
-
-            @Override
-            public Material call() throws Exception {
-                if (techniqueName != null) {
+        SceneApplication.getApplication().enqueue(() -> {
+            if (techniqueName != null) {
+                try {
+                    m.selectTechnique(techniqueName, SceneApplication.getApplication().getRenderManager());
+                } catch (Exception e) {
+                    //
+                }
+            }
+            final Material mat = reloadMaterial(m);
+            if (mat != null) {
+                java.awt.EventQueue.invokeLater(() -> {
+                    currentMaterial = mat;
+                    currentGeom.setMaterial(mat);
                     try {
-                        m.selectTechnique(techniqueName, SceneApplication.getApplication().getRenderManager());
+                        if (currentGeom.getMaterial() != null) {
+                            PreviewRequest request = new PreviewRequest(MaterialPreviewRenderer.this, currentGeom, label.getWidth(), label.getHeight());
+                            request.getCameraRequest().setLocation(new Vector3f(0, 0, 7));
+                            request.getCameraRequest().setLookAt(new Vector3f(0, 0, 0), Vector3f.UNIT_Y);
+                            SceneApplication.getApplication().createPreview(request);
+                        }
                     } catch (Exception e) {
-                        //
+                        java.awt.EventQueue.invokeLater(() -> {
+                            label.setIcon(Icons.error);
+                        });
+                        smartLog("Error rendering material{0}", e.getMessage());
                     }
-                }
-                final Material mat = reloadMaterial(m);
-                if (mat != null) {
-                    java.awt.EventQueue.invokeLater(new Runnable() {
-                        @Override
-                        public void run() {
-                            currentMaterial = mat;
-                            currentGeom.setMaterial(mat);
-                            try {
-                                if (currentGeom.getMaterial() != null) {
-                                    PreviewRequest request = new PreviewRequest(MaterialPreviewRenderer.this, currentGeom, label.getWidth(), label.getHeight());
-                                    request.getCameraRequest().setLocation(new Vector3f(0, 0, 7));
-                                    request.getCameraRequest().setLookAt(new Vector3f(0, 0, 0), Vector3f.UNIT_Y);
-                                    SceneApplication.getApplication().createPreview(request);
-                                }
-                            } catch (Exception e) {
-                                java.awt.EventQueue.invokeLater(new Runnable() {
-                                    @Override
-                                    public void run() {
-                                        label.setIcon(Icons.error);
-                                    }
-                                });
-                                smartLog("Error rendering material{0}", e.getMessage());
-                            }
-                        }
-                    });
+                });
 
-                }
-                return mat;
             }
+            return mat;
         });
     }
 
@@ -209,7 +194,7 @@ public class MaterialPreviewRenderer implements SceneListener {
 
             //creating a dummy mat with the mat def of the mat to reload
             dummy = new Material(mat.getMaterialDef());
-        
+
             for (MatParam matParam : mat.getParams()) {
                 dummy.setParam(matParam.getName(), matParam.getVarType(), matParam.getValue());
             }
@@ -231,12 +216,7 @@ public class MaterialPreviewRenderer implements SceneListener {
             //Logger.getLogger(MaterialDebugAppState.class.getName()).log(Level.SEVERE, e.getMessage());
             smartLog("{0}", e.getMessage());
 
-            java.awt.EventQueue.invokeLater(new Runnable() {
-                @Override
-                public void run() {
-                    label.setIcon(Icons.error);
-                }
-            });
+            java.awt.EventQueue.invokeLater(() -> label.setIcon(Icons.error));
             return null;
         } catch (NullPointerException npe) {
             //utterly bad, but for some reason I get random NPE here and can't figure out why so to avoid bigger issues, I just catch it.
@@ -282,11 +262,8 @@ public class MaterialPreviewRenderer implements SceneListener {
     public void previewCreated(PreviewRequest request) {
         if (request.getRequester() == this) {
             final ImageIcon icon = new ImageIcon(request.getImage());
-            java.awt.EventQueue.invokeLater(new Runnable() {
-                @Override
-                public void run() {
-                    label.setIcon(icon);
-                }
+            java.awt.EventQueue.invokeLater(() -> {
+                label.setIcon(icon);
             });
             previewRequested = false;
         }
@@ -296,15 +273,16 @@ public class MaterialPreviewRenderer implements SceneListener {
         SceneApplication.getApplication().removeSceneListener(this);
         exec.shutdownNow();
     }
-    
-    public boolean isPreviewRequested(){
+
+    public boolean isPreviewRequested() {
         return previewRequested;
     }
-    
+
     /**
-     * A more lightweight refresh than showMaterials that doesn't rebuild the material
+     * A more lightweight refresh than showMaterials that doesn't rebuild the
+     * material
      */
-    public void refreshOnly(){
+    public void refreshOnly() {
         previewRequested = true;
         SceneApplication.getApplication().enqueue((Callable<Object>) () -> {
             if (currentGeom.getMaterial() != null) {
@@ -316,5 +294,5 @@ public class MaterialPreviewRenderer implements SceneListener {
             return null;
         });
     }
-    
+
 }

+ 6 - 4
jme3-materialeditor/src/com/jme3/gde/materials/multiview/MaterialEditorTopComponent.form

@@ -87,14 +87,14 @@
                       <Group type="102" attributes="0">
                           <Group type="103" groupAlignment="0" attributes="0">
                               <Component id="materialPreviewWidget1" min="-2" pref="255" max="-2" attributes="0"/>
-                              <Component id="jTabbedPane3" pref="477" max="32767" attributes="0"/>
+                              <Component id="jTabbedPane3" max="32767" attributes="0"/>
                           </Group>
                           <EmptySpace max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="0" attributes="0">
                               <Group type="102" alignment="0" attributes="0">
-                                  <Component id="texturesAndColorsPane" min="-2" pref="496" max="-2" attributes="0"/>
+                                  <Component id="texturesAndColorsPane" pref="496" max="32767" attributes="0"/>
                                   <EmptySpace max="-2" attributes="0"/>
-                                  <Component id="additionalRenderStatePane" pref="352" max="32767" attributes="0"/>
+                                  <Component id="additionalRenderStatePane" pref="329" max="32767" attributes="0"/>
                                   <EmptySpace pref="12" max="32767" attributes="0"/>
                               </Group>
                               <Group type="102" alignment="0" attributes="0">
@@ -182,6 +182,7 @@
                 </Container>
                 <Container class="javax.swing.JTabbedPane" name="jTabbedPane3">
                   <Properties>
+                    <Property name="tabLayoutPolicy" type="int" value="1"/>
                     <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
                       <Dimension value="[380, 355]"/>
                     </Property>
@@ -374,8 +375,9 @@
                 </Component>
                 <Container class="javax.swing.JTabbedPane" name="additionalRenderStatePane">
                   <Properties>
+                    <Property name="tabLayoutPolicy" type="int" value="1"/>
                     <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-                      <Dimension value="[150, 100]"/>
+                      <Dimension value="[100, 100]"/>
                     </Property>
                     <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
                       <Dimension value="[380, 355]"/>

+ 7 - 6
jme3-materialeditor/src/com/jme3/gde/materials/multiview/MaterialEditorTopComponent.java

@@ -169,6 +169,7 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
 
         texturesAndColorsPane.addTab(org.openide.util.NbBundle.getMessage(MaterialEditorTopComponent.class, "MaterialEditorTopComponent.jScrollPane3.TabConstraints.tabTitle"), jScrollPane3); // NOI18N
 
+        jTabbedPane3.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
         jTabbedPane3.setMinimumSize(new java.awt.Dimension(380, 355));
         jTabbedPane3.setPreferredSize(new java.awt.Dimension(500, 355));
 
@@ -180,7 +181,6 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
 
         jTabbedPane3.addTab(org.openide.util.NbBundle.getMessage(MaterialEditorTopComponent.class, "MaterialEditorTopComponent.jScrollPane2.TabConstraints.tabTitle_1"), jScrollPane2); // NOI18N
 
-        jToolBar2.setFloatable(false);
         jToolBar2.setRollover(true);
 
         jPanel3.setPreferredSize(new java.awt.Dimension(0, 21));
@@ -215,7 +215,7 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
             }
         });
         jToolBar2.add(jComboBox1);
-        jToolBar3.setFloatable(false);
+
         jToolBar3.setRollover(true);
 
         jPanel1.setPreferredSize(new java.awt.Dimension(140, 21));
@@ -256,7 +256,8 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
             }
         });
 
-        additionalRenderStatePane.setMinimumSize(new java.awt.Dimension(150, 100));
+        additionalRenderStatePane.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
+        additionalRenderStatePane.setMinimumSize(new java.awt.Dimension(100, 100));
         additionalRenderStatePane.setPreferredSize(new java.awt.Dimension(380, 355));
 
         jScrollPane10.setBorder(null);
@@ -273,13 +274,13 @@ public final class MaterialEditorTopComponent extends CloneableTopComponent impl
             .addGroup(editorPanelLayout.createSequentialGroup()
                 .addGroup(editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addComponent(materialPreviewWidget1, javax.swing.GroupLayout.PREFERRED_SIZE, 255, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jTabbedPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE))
+                    .addComponent(jTabbedPane3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addGroup(editorPanelLayout.createSequentialGroup()
-                        .addComponent(texturesAndColorsPane, javax.swing.GroupLayout.PREFERRED_SIZE, 496, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(texturesAndColorsPane, javax.swing.GroupLayout.DEFAULT_SIZE, 496, Short.MAX_VALUE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(additionalRenderStatePane, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE)
+                        .addComponent(additionalRenderStatePane, javax.swing.GroupLayout.DEFAULT_SIZE, 329, Short.MAX_VALUE)
                         .addContainerGap(12, Short.MAX_VALUE))
                     .addGroup(editorPanelLayout.createSequentialGroup()
                         .addGroup(editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

+ 30 - 9
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/ColorPanel.form

@@ -5,6 +5,9 @@
     <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
       <Dimension value="[32767, 35]"/>
     </Property>
+    <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+      <Dimension value="[20, 0]"/>
+    </Property>
     <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
       <Dimension value="[430, 35]"/>
     </Property>
@@ -28,9 +31,9 @@
               <Group type="103" groupAlignment="0" attributes="0">
                   <Component id="jSeparator1" alignment="1" max="32767" attributes="0"/>
                   <Group type="102" attributes="0">
-                      <Component id="jLabel1" min="-2" pref="91" max="-2" attributes="0"/>
+                      <Component id="jLabel1" pref="91" max="32767" attributes="0"/>
                       <EmptySpace max="-2" attributes="0"/>
-                      <Component id="jPanel2" min="-2" pref="390" max="-2" attributes="0"/>
+                      <Component id="jPanel2" pref="327" max="32767" attributes="0"/>
                       <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
                   </Group>
               </Group>
@@ -58,6 +61,9 @@
         <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="ColorPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
         </Property>
+        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[20, 17]"/>
+        </Property>
         <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
           <Dimension value="[100, 16]"/>
         </Property>
@@ -65,6 +71,9 @@
     </Component>
     <Container class="javax.swing.JPanel" name="jPanel2">
       <Properties>
+        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[80, 0]"/>
+        </Property>
         <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
           <Dimension value="[377, 40]"/>
         </Property>
@@ -74,23 +83,23 @@
         <DimensionLayout dim="0">
           <Group type="103" groupAlignment="0" attributes="0">
               <Group type="102" alignment="1" attributes="0">
-                  <Component id="colorPreview" min="-2" pref="41" max="-2" attributes="0"/>
-                  <EmptySpace pref="51" max="32767" attributes="0"/>
+                  <Component id="colorPreview" pref="41" max="32767" attributes="0"/>
+                  <EmptySpace max="32767" attributes="0"/>
                   <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
-                  <Component id="rLabel" min="-2" pref="46" max="-2" attributes="0"/>
+                  <Component id="rLabel" pref="34" max="32767" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
                   <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
-                  <Component id="gLabel" min="-2" pref="45" max="-2" attributes="0"/>
+                  <Component id="gLabel" pref="39" max="32767" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
                   <Component id="jLabel4" min="-2" max="-2" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
-                  <Component id="bLabel" min="-2" pref="46" max="-2" attributes="0"/>
+                  <Component id="bLabel" pref="46" max="32767" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
                   <Component id="jLabel5" min="-2" max="-2" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
-                  <Component id="aLabel" min="-2" pref="46" max="-2" attributes="0"/>
+                  <Component id="aLabel" pref="46" max="32767" attributes="0"/>
               </Group>
           </Group>
         </DimensionLayout>
@@ -101,7 +110,7 @@
                   <Component id="jLabel3" alignment="3" min="-2" pref="40" max="-2" attributes="0"/>
                   <Component id="jLabel4" alignment="3" min="-2" max="-2" attributes="0"/>
                   <Component id="jLabel5" alignment="3" min="-2" max="-2" attributes="0"/>
-                  <Component id="rLabel" alignment="3" max="32767" attributes="1"/>
+                  <Component id="rLabel" alignment="3" max="-2" attributes="1"/>
                   <Component id="gLabel" alignment="3" min="-2" max="-2" attributes="1"/>
                   <Component id="bLabel" alignment="3" min="-2" max="-2" attributes="1"/>
                   <Component id="aLabel" alignment="3" min="-2" max="-2" attributes="1"/>
@@ -119,6 +128,9 @@
             <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[110, 2147483647]"/>
             </Property>
+            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[30, 23]"/>
+            </Property>
             <Property name="nextFocusableComponent" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
               <ComponentRef name="gLabel"/>
             </Property>
@@ -141,6 +153,9 @@
             <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[110, 2147483647]"/>
             </Property>
+            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[30, 23]"/>
+            </Property>
             <Property name="nextFocusableComponent" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
               <ComponentRef name="bLabel"/>
             </Property>
@@ -162,6 +177,9 @@
             <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[110, 2147483647]"/>
             </Property>
+            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[30, 23]"/>
+            </Property>
             <Property name="nextFocusableComponent" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
               <ComponentRef name="aLabel"/>
             </Property>
@@ -207,6 +225,9 @@
             <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[110, 2147483647]"/>
             </Property>
+            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[30, 23]"/>
+            </Property>
             <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[110, 28]"/>
             </Property>

+ 16 - 9
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/ColorPanel.java

@@ -49,15 +49,19 @@ public class ColorPanel extends MaterialPropertyWidget {
         jSeparator1 = new javax.swing.JSeparator();
 
         setMaximumSize(new java.awt.Dimension(32767, 35));
+        setMinimumSize(new java.awt.Dimension(20, 0));
         setPreferredSize(new java.awt.Dimension(430, 35));
 
         jLabel1.setText(org.openide.util.NbBundle.getMessage(ColorPanel.class, "ColorPanel.jLabel1.text")); // NOI18N
+        jLabel1.setMinimumSize(new java.awt.Dimension(20, 17));
         jLabel1.setPreferredSize(new java.awt.Dimension(100, 16));
 
+        jPanel2.setMinimumSize(new java.awt.Dimension(80, 0));
         jPanel2.setPreferredSize(new java.awt.Dimension(377, 40));
 
         rLabel.setText(org.openide.util.NbBundle.getMessage(ColorPanel.class, "ColorPanel.rLabel.text")); // NOI18N
         rLabel.setMaximumSize(new java.awt.Dimension(110, 2147483647));
+        rLabel.setMinimumSize(new java.awt.Dimension(30, 23));
         rLabel.setNextFocusableComponent(gLabel);
         rLabel.setPreferredSize(new java.awt.Dimension(110, 28));
         rLabel.setVerifyInputWhenFocusTarget(false);
@@ -77,6 +81,7 @@ public class ColorPanel extends MaterialPropertyWidget {
 
         gLabel.setText(org.openide.util.NbBundle.getMessage(ColorPanel.class, "ColorPanel.gLabel.text")); // NOI18N
         gLabel.setMaximumSize(new java.awt.Dimension(110, 2147483647));
+        gLabel.setMinimumSize(new java.awt.Dimension(30, 23));
         gLabel.setNextFocusableComponent(bLabel);
         gLabel.setPreferredSize(new java.awt.Dimension(110, 28));
         gLabel.addActionListener(new java.awt.event.ActionListener() {
@@ -95,6 +100,7 @@ public class ColorPanel extends MaterialPropertyWidget {
 
         bLabel.setText(org.openide.util.NbBundle.getMessage(ColorPanel.class, "ColorPanel.bLabel.text")); // NOI18N
         bLabel.setMaximumSize(new java.awt.Dimension(110, 2147483647));
+        bLabel.setMinimumSize(new java.awt.Dimension(30, 23));
         bLabel.setNextFocusableComponent(aLabel);
         bLabel.setPreferredSize(new java.awt.Dimension(110, 28));
         bLabel.addActionListener(new java.awt.event.ActionListener() {
@@ -120,6 +126,7 @@ public class ColorPanel extends MaterialPropertyWidget {
         aLabel.setText(org.openide.util.NbBundle.getMessage(ColorPanel.class, "ColorPanel.aLabel.text")); // NOI18N
         aLabel.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
         aLabel.setMaximumSize(new java.awt.Dimension(110, 2147483647));
+        aLabel.setMinimumSize(new java.awt.Dimension(30, 23));
         aLabel.setPreferredSize(new java.awt.Dimension(110, 28));
         aLabel.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -154,23 +161,23 @@ public class ColorPanel extends MaterialPropertyWidget {
         jPanel2Layout.setHorizontalGroup(
             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
-                .addComponent(colorPreview, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 51, Short.MAX_VALUE)
+                .addComponent(colorPreview, javax.swing.GroupLayout.DEFAULT_SIZE, 41, Short.MAX_VALUE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                 .addComponent(jLabel2)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(rLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(rLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 34, Short.MAX_VALUE)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(jLabel3)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(gLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(gLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(jLabel4)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(bLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(bLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 46, Short.MAX_VALUE)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(jLabel5)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(aLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addComponent(aLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 46, Short.MAX_VALUE))
         );
         jPanel2Layout.setVerticalGroup(
             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -179,7 +186,7 @@ public class ColorPanel extends MaterialPropertyWidget {
                 .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addComponent(jLabel4)
                 .addComponent(jLabel5)
-                .addComponent(rLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(rLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addComponent(gLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addComponent(bLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addComponent(aLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
@@ -194,9 +201,9 @@ public class ColorPanel extends MaterialPropertyWidget {
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.TRAILING)
                     .addGroup(layout.createSequentialGroup()
-                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 390, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, 327, Short.MAX_VALUE)
                         .addGap(0, 0, Short.MAX_VALUE)))
                 .addContainerGap())
         );

+ 4 - 1
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/FloatPanel.form

@@ -49,6 +49,9 @@
             <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[300, 16]"/>
             </Property>
+            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[10, 17]"/>
+            </Property>
           </Properties>
         </Component>
         <Component class="javax.swing.Box$Filler" name="filler1">
@@ -73,7 +76,7 @@
               <Dimension value="[100, 23]"/>
             </Property>
             <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[100, 23]"/>
+              <Dimension value="[30, 23]"/>
             </Property>
             <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[100, 23]"/>

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/FloatPanel.java

@@ -40,18 +40,18 @@ public class FloatPanel extends MaterialPropertyWidget {
 
         setMinimumSize(new java.awt.Dimension(100, 27));
 
-        jToolBar1.setFloatable(false);
         jToolBar1.setRollover(true);
         jToolBar1.setPreferredSize(new java.awt.Dimension(159, 27));
 
         jLabel1.setText(org.openide.util.NbBundle.getMessage(FloatPanel.class, "FloatPanel.jLabel1.text")); // NOI18N
         jLabel1.setMaximumSize(new java.awt.Dimension(300, 16));
+        jLabel1.setMinimumSize(new java.awt.Dimension(10, 17));
         jToolBar1.add(jLabel1);
         jToolBar1.add(filler1);
 
         jSpinner1.setModel(new javax.swing.SpinnerNumberModel(0.0f, null, null, 1.0f));
         jSpinner1.setMaximumSize(new java.awt.Dimension(100, 23));
-        jSpinner1.setMinimumSize(new java.awt.Dimension(100, 23));
+        jSpinner1.setMinimumSize(new java.awt.Dimension(30, 23));
         jSpinner1.setPreferredSize(new java.awt.Dimension(100, 23));
         jSpinner1.addChangeListener(new javax.swing.event.ChangeListener() {
             public void stateChanged(javax.swing.event.ChangeEvent evt) {

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/IntPanel.form

@@ -69,7 +69,7 @@
               <Dimension value="[100, 23]"/>
             </Property>
             <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[100, 23]"/>
+              <Dimension value="[40, 23]"/>
             </Property>
             <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[100, 23]"/>

+ 1 - 2
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/IntPanel.java

@@ -37,7 +37,6 @@ public class IntPanel extends MaterialPropertyWidget {
         filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(20, 0), new java.awt.Dimension(32767, 0));
         jSpinner1 = new javax.swing.JSpinner();
 
-        jToolBar1.setFloatable(false);
         jToolBar1.setRollover(true);
         jToolBar1.setPreferredSize(new java.awt.Dimension(159, 27));
 
@@ -49,7 +48,7 @@ public class IntPanel extends MaterialPropertyWidget {
         jSpinner1.setModel(new javax.swing.SpinnerNumberModel());
         jSpinner1.setAlignmentX(1.0F);
         jSpinner1.setMaximumSize(new java.awt.Dimension(100, 23));
-        jSpinner1.setMinimumSize(new java.awt.Dimension(100, 23));
+        jSpinner1.setMinimumSize(new java.awt.Dimension(40, 23));
         jSpinner1.setPreferredSize(new java.awt.Dimension(100, 23));
         jSpinner1.addChangeListener(new javax.swing.event.ChangeListener() {
             public void stateChanged(javax.swing.event.ChangeEvent evt) {

+ 0 - 1
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/MaterialPreviewWidget.java

@@ -37,7 +37,6 @@
 package com.jme3.gde.materials.multiview.widgets;
 
 import com.jme3.gde.core.assets.ProjectAssetManager;
-import com.jme3.gde.core.icons.IconList;
 import com.jme3.gde.core.scene.SceneApplication;
 import com.jme3.gde.core.scene.SceneRequest;
 import com.jme3.gde.materials.MaterialPreviewRenderer;

+ 12 - 23
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/SelectionPanel.form

@@ -16,7 +16,7 @@
   <Layout>
     <DimensionLayout dim="0">
       <Group type="103" groupAlignment="0" attributes="0">
-          <Component id="jToolBar1" alignment="0" pref="364" max="32767" attributes="0"/>
+          <Component id="jToolBar1" alignment="0" pref="185" max="32767" attributes="0"/>
       </Group>
     </DimensionLayout>
     <DimensionLayout dim="1">
@@ -28,13 +28,13 @@
   <SubComponents>
     <Container class="javax.swing.JToolBar" name="jToolBar1">
       <Properties>
-        <Property name="floatable" type="boolean" value="false"/>
         <Property name="rollover" type="boolean" value="true"/>
+        <Property name="alignmentY" type="float" value="0.5"/>
         <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-          <Dimension value="[212, 32]"/>
+          <Dimension value="[80, 32]"/>
         </Property>
         <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-          <Dimension value="[212, 32]"/>
+          <Dimension value="[385, 32]"/>
         </Property>
       </Properties>
 
@@ -50,27 +50,16 @@
             </Property>
           </Properties>
         </Component>
-        <Container class="javax.swing.JPanel" name="jPanel1">
+        <Component class="javax.swing.Box$Filler" name="filler1">
           <Properties>
-            <Property name="opaque" type="boolean" value="false"/>
-            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[10, 0]"/>
+            <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[32767, 0]"/>
             </Property>
           </Properties>
-
-          <Layout>
-            <DimensionLayout dim="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <EmptySpace min="0" pref="56" max="32767" attributes="0"/>
-              </Group>
-            </DimensionLayout>
-            <DimensionLayout dim="1">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <EmptySpace min="0" pref="28" max="32767" attributes="0"/>
-              </Group>
-            </DimensionLayout>
-          </Layout>
-        </Container>
+          <AuxValues>
+            <AuxValue name="classDetails" type="java.lang.String" value="Box.Filler.HorizontalGlue"/>
+          </AuxValues>
+        </Component>
         <Component class="javax.swing.JComboBox" name="jComboBox1">
           <Properties>
             <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
@@ -85,7 +74,7 @@
               <Dimension value="[200, 32767]"/>
             </Property>
             <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-              <Dimension value="[0, 0]"/>
+              <Dimension value="[30, 0]"/>
             </Property>
             <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[200, 27]"/>

+ 8 - 23
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/SelectionPanel.java

@@ -52,37 +52,22 @@ public class SelectionPanel extends MaterialPropertyWidget {
 
         jToolBar1 = new javax.swing.JToolBar();
         jLabel1 = new javax.swing.JLabel();
-        jPanel1 = new javax.swing.JPanel();
+        filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0));
         jComboBox1 = new javax.swing.JComboBox();
 
-        jToolBar1.setFloatable(false);
         jToolBar1.setRollover(true);
-        jToolBar1.setMinimumSize(new java.awt.Dimension(212, 32));
-        jToolBar1.setPreferredSize(new java.awt.Dimension(212, 32));
+        jToolBar1.setAlignmentY(0.5F);
+        jToolBar1.setMinimumSize(new java.awt.Dimension(80, 32));
+        jToolBar1.setPreferredSize(new java.awt.Dimension(385, 32));
 
         jLabel1.setText(org.openide.util.NbBundle.getMessage(SelectionPanel.class, "SelectionPanel.jLabel1.text")); // NOI18N
         jLabel1.setPreferredSize(new java.awt.Dimension(100, 16));
         jToolBar1.add(jLabel1);
-
-        jPanel1.setOpaque(false);
-        jPanel1.setPreferredSize(new java.awt.Dimension(10, 0));
-
-        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
-        jPanel1.setLayout(jPanel1Layout);
-        jPanel1Layout.setHorizontalGroup(
-            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 56, Short.MAX_VALUE)
-        );
-        jPanel1Layout.setVerticalGroup(
-            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 28, Short.MAX_VALUE)
-        );
-
-        jToolBar1.add(jPanel1);
+        jToolBar1.add(filler1);
 
         jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
         jComboBox1.setMaximumSize(new java.awt.Dimension(200, 32767));
-        jComboBox1.setMinimumSize(new java.awt.Dimension(0, 0));
+        jComboBox1.setMinimumSize(new java.awt.Dimension(30, 0));
         jComboBox1.setPreferredSize(new java.awt.Dimension(200, 27));
         jComboBox1.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -95,7 +80,7 @@ public class SelectionPanel extends MaterialPropertyWidget {
         this.setLayout(layout);
         layout.setHorizontalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 364, Short.MAX_VALUE)
+            .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 185, Short.MAX_VALUE)
         );
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -125,9 +110,9 @@ public class SelectionPanel extends MaterialPropertyWidget {
     }
 
     // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.Box.Filler filler1;
     private javax.swing.JComboBox jComboBox1;
     private javax.swing.JLabel jLabel1;
-    private javax.swing.JPanel jPanel1;
     private javax.swing.JToolBar jToolBar1;
     // End of variables declaration//GEN-END:variables
 

+ 5 - 2
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TextPanel.form

@@ -28,8 +28,8 @@
   <SubComponents>
     <Container class="javax.swing.JToolBar" name="jToolBar1">
       <Properties>
-        <Property name="floatable" type="boolean" value="false"/>
         <Property name="rollover" type="boolean" value="true"/>
+        <Property name="alignmentY" type="float" value="0.5"/>
       </Properties>
 
       <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
@@ -55,7 +55,7 @@
           <Layout>
             <DimensionLayout dim="0">
               <Group type="103" groupAlignment="0" attributes="0">
-                  <EmptySpace min="0" pref="5" max="32767" attributes="0"/>
+                  <EmptySpace min="0" pref="4" max="32767" attributes="0"/>
               </Group>
             </DimensionLayout>
             <DimensionLayout dim="1">
@@ -73,6 +73,9 @@
             <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[200, 2147483647]"/>
             </Property>
+            <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[34, 23]"/>
+            </Property>
             <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
               <Dimension value="[200, 28]"/>
             </Property>

+ 3 - 2
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TextPanel.java

@@ -39,8 +39,8 @@ public class TextPanel extends MaterialPropertyWidget {
         jPanel1 = new javax.swing.JPanel();
         jTextField1 = new javax.swing.JTextField();
 
-        jToolBar1.setFloatable(false);
         jToolBar1.setRollover(true);
+        jToolBar1.setAlignmentY(0.5F);
 
         jLabel1.setText(org.openide.util.NbBundle.getMessage(TextPanel.class, "TextPanel.jLabel1.text")); // NOI18N
         jLabel1.setPreferredSize(new java.awt.Dimension(100, 16));
@@ -53,7 +53,7 @@ public class TextPanel extends MaterialPropertyWidget {
         jPanel1.setLayout(jPanel1Layout);
         jPanel1Layout.setHorizontalGroup(
             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 5, Short.MAX_VALUE)
+            .addGap(0, 4, Short.MAX_VALUE)
         );
         jPanel1Layout.setVerticalGroup(
             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -64,6 +64,7 @@ public class TextPanel extends MaterialPropertyWidget {
 
         jTextField1.setText(org.openide.util.NbBundle.getMessage(TextPanel.class, "TextPanel.jTextField1.text")); // NOI18N
         jTextField1.setMaximumSize(new java.awt.Dimension(200, 2147483647));
+        jTextField1.setMinimumSize(new java.awt.Dimension(34, 23));
         jTextField1.setPreferredSize(new java.awt.Dimension(200, 28));
         jTextField1.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {

+ 8 - 5
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TexturePanel.form

@@ -5,6 +5,9 @@
     <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
       <Dimension value="[32767, 45]"/>
     </Property>
+    <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+      <Dimension value="[80, 0]"/>
+    </Property>
     <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
       <Dimension value="[467, 45]"/>
     </Property>
@@ -43,9 +46,9 @@
           </Group>
           <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
               <Group type="102" attributes="0">
-                  <EmptySpace min="0" pref="238" max="32767" attributes="0"/>
-                  <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace min="0" pref="238" max="32767" attributes="0"/>
+                  <EmptySpace min="0" pref="232" max="32767" attributes="0"/>
+                  <Component id="jPanel1" pref="4" max="32767" attributes="0"/>
+                  <EmptySpace min="0" pref="231" max="32767" attributes="0"/>
               </Group>
           </Group>
       </Group>
@@ -84,7 +87,7 @@
           <ResourceString bundle="com/jme3/gde/materials/multiview/widgets/Bundle.properties" key="TexturePanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
         </Property>
         <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
-          <Dimension value="[70, 14]"/>
+          <Dimension value="[20, 14]"/>
         </Property>
         <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
           <Dimension value="[100, 16]"/>
@@ -101,7 +104,7 @@
       <Layout>
         <DimensionLayout dim="0">
           <Group type="103" groupAlignment="0" attributes="0">
-              <EmptySpace min="0" pref="10" max="32767" attributes="0"/>
+              <EmptySpace min="0" pref="4" max="32767" attributes="0"/>
           </Group>
         </DimensionLayout>
         <DimensionLayout dim="1">

+ 6 - 5
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TexturePanel.java

@@ -122,10 +122,11 @@ public class TexturePanel extends MaterialPropertyWidget {
         texturePreview = new javax.swing.JLabel();
 
         setMaximumSize(new java.awt.Dimension(32767, 45));
+        setMinimumSize(new java.awt.Dimension(80, 0));
         setPreferredSize(new java.awt.Dimension(467, 45));
 
         jLabel1.setText(org.openide.util.NbBundle.getMessage(TexturePanel.class, "TexturePanel.jLabel1.text")); // NOI18N
-        jLabel1.setMinimumSize(new java.awt.Dimension(70, 14));
+        jLabel1.setMinimumSize(new java.awt.Dimension(20, 14));
         jLabel1.setPreferredSize(new java.awt.Dimension(100, 16));
 
         jPanel1.setPreferredSize(new java.awt.Dimension(10, 0));
@@ -134,7 +135,7 @@ public class TexturePanel extends MaterialPropertyWidget {
         jPanel1.setLayout(jPanel1Layout);
         jPanel1Layout.setHorizontalGroup(
             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 10, Short.MAX_VALUE)
+            .addGap(0, 4, Short.MAX_VALUE)
         );
         jPanel1Layout.setVerticalGroup(
             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -209,9 +210,9 @@ public class TexturePanel extends MaterialPropertyWidget {
                 .addContainerGap())
             .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                 .addGroup(layout.createSequentialGroup()
-                    .addGap(0, 238, Short.MAX_VALUE)
-                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addGap(0, 238, Short.MAX_VALUE)))
+                    .addGap(0, 232, Short.MAX_VALUE)
+                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 4, Short.MAX_VALUE)
+                    .addGap(0, 231, Short.MAX_VALUE)))
         );
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)