This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Build: NetBeans IDE Dev (Build 200709041200) VM: Java HotSpot(TM) Client VM, 1.6.0_02-ea-b02 OS: Linux, 2.6.20-16-generic, i386 User Comments: trying to change the style on a common task group
Created attachment 48117 [details] stacktrace
Build: NetBeans IDE Dev (Build 200709041200) VM: Java HotSpot(TM) Client VM, 1.6.0_02-ea-b02 OS: Linux, 2.6.20-16-generic, i386 User Comments: tried to set properties on a common tasks group
Created attachment 48119 [details] stacktrace
Build: NetBeans IDE Dev (Build 200709040000) VM: Java HotSpot(TM) Client VM, 1.6.0_02-b05 OS: SunOS, 5.11, sparc User Comments: 1. Add a composite > common task group to designer 2. go to properties > style and press ...
Created attachment 48164 [details] stacktrace
Note: This error occurs for ALL components (even standard) when you try to open the style editor so it may be a NB core issue.
Does this happen in Beta1?. Nothing has been changed in this area recently. Not sure if this is a manifestation of changes else where. I'm investigating it.
It was happening in the latest dev build from Sep 4th...
Yes. I reproduced it using build 0904 of beta1.
I can not reproduce this on Mac with JDK 1.5_0_07 Very interesting point is it is complaining at the line public void addPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(listener); } But propertyChangeSupport is clearly defined as global variable private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); As per CVS annotation this area has not been touched since Mar 2, 2007. Do you see the same problem with JDK 1.5
Ah!, now I remember it. This has been filed earlier few months ago (specific to JDK 1.6 Synth look and feel, does not happen in any other look and feel) and I closed it as will not fix. What happens is while the Style Builder Panel is being constructed, Synth L & F tries to add listeners which in turns call addPropertyChangeListener (the wrong one which is overriden). The solution is to change the StyleBuilder.addPropertyChangeListener to StyleBuilder.addCssPropertyChangeListener so that Synth L & F won't call the wrong addPropertyChangeListener (overriden). I will send my fix to QA to test since I don't have a machine with Synth Look and Feel.
fix did not work for me. I provided winston with vnc info for machine.
Unfortunately looks like addPropertyListsner (overriding method of JPanel) need to be replaced at several places. Here is the diff Index: src/org/netbeans/modules/visualweb/propertyeditors/css/BackgroundStyleEditor.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/BackgroundStyleEditor.java,v retrieving revision 1.3 diff -u -r1.3 BackgroundStyleEditor.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/BackgroundStyleEditor.java 19 Jul 2007 22:20:55 -0000 1.3 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/BackgroundStyleEditor.java 5 Sep 2007 22:27:41 -0000 @@ -60,7 +60,7 @@ setDisplayName(NbBundle.getMessage(StyleBuilderDialog.class, "BACKGROUND_EDITOR_DISPNAME")); initComponents(); colorSelectionPanel.add(colorField,BorderLayout.CENTER); - colorField.addPropertyChangeListener(this); + colorField.addCssPropertyChangeListener(this); initialize(); // Add editor listeners to the horizontal position combobox Index: src/org/netbeans/modules/visualweb/propertyeditors/css/BorderDataTable.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/BorderDataTable.java,v retrieving revision 1.1 diff -u -r1.1 BorderDataTable.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/BorderDataTable.java 2 Mar 2007 18:29:16 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/BorderDataTable.java 5 Sep 2007 23:16:16 -0000 @@ -144,12 +144,12 @@ NbBundle.getMessage(BorderDataTable.class, "ALL_SIDE_BORDER_WIDTH_UNIT_ACCESS_NAME")); allWidthField.setAccessibleDescription(NbBundle.getMessage(BorderDataTable.class, "ALL_SIDE_BORDER_WIDTH_ACCESS_DESC"), NbBundle.getMessage(BorderDataTable.class, "ALL_SIDE_BORDER_WIDTH_UNIT_ACCESS_DESC")); - allWidthField.addPropertyChangeListener(widthPropertyChangeListener); + allWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); setValueAt(allWidthField, 1, 2); // All Side Width allColorField = new ColorSelectionField(); - allColorField.addPropertyChangeListener(colorPropertyChangeListener); + allColorField.addCssPropertyChangeListener(colorPropertyChangeListener); setValueAt(allColorField, 1, 3); // Set the value for the top side border @@ -172,13 +172,13 @@ topWidthField.setAccessibleDescription(NbBundle.getMessage(BorderDataTable.class, "TOP_SIDE_BORDER_WIDTH_ACCESS_DESC"), NbBundle.getMessage(BorderDataTable.class, "TOP_SIDE_BORDER_WIDTH_UNIT_ACCESS_DESC")); topWidthField.setWidthString(cssStyleData.getProperty(CssStyleData.BORDER_TOP_WIDTH)); - topWidthField.addPropertyChangeListener(widthPropertyChangeListener); + topWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); setValueAt(topWidthField, 2, 2); // Top Side Color topColorField = new ColorSelectionField(); topColorField.setColorString(cssStyleData.getProperty(CssStyleData.BORDER_TOP_COLOR)); - topColorField.addPropertyChangeListener(colorPropertyChangeListener); + topColorField.addCssPropertyChangeListener(colorPropertyChangeListener); setValueAt(topColorField, 2, 3); // Set the Bottom Side data @@ -201,13 +201,13 @@ bottomWidthField.setAccessibleDescription(NbBundle.getMessage(BorderDataTable.class, "BOTTOM_SIDE_BORDER_WIDTH_ACCESS_DESC"), NbBundle.getMessage(BorderDataTable.class, "BOTTOM_SIDE_BORDER_WIDTH_UNIT_ACCESS_DESC")); bottomWidthField.setWidthString(cssStyleData.getProperty(CssStyleData.BORDER_BOTTOM_WIDTH)); - bottomWidthField.addPropertyChangeListener(widthPropertyChangeListener); + bottomWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); setValueAt(bottomWidthField, 3, 2); // Bottom Side Width bottomColorField = new ColorSelectionField(); bottomColorField.setColorString(cssStyleData.getProperty(CssStyleData.BORDER_BOTTOM_COLOR)); - bottomColorField.addPropertyChangeListener(colorPropertyChangeListener); + bottomColorField.addCssPropertyChangeListener(colorPropertyChangeListener); setValueAt(bottomColorField, 3, 3); @@ -231,13 +231,13 @@ leftWidthField.setAccessibleDescription(NbBundle.getMessage(BorderDataTable.class, "LEFT_SIDE_BORDER_WIDTH_ACCESS_DESC"), NbBundle.getMessage(BorderDataTable.class, "LEFT_SIDE_BORDER_WIDTH_UNIT_ACCESS_DESC")); leftWidthField.setWidthString(cssStyleData.getProperty(CssStyleData.BORDER_LEFT_WIDTH)); - leftWidthField.addPropertyChangeListener(widthPropertyChangeListener); + leftWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); setValueAt(leftWidthField, 4, 2); // Left Side Width leftColorField = new ColorSelectionField(); leftColorField.setColorString(cssStyleData.getProperty(CssStyleData.BORDER_LEFT_COLOR)); - leftColorField.addPropertyChangeListener(colorPropertyChangeListener); + leftColorField.addCssPropertyChangeListener(colorPropertyChangeListener); setValueAt(leftColorField, 4, 3); // Set the Right Side data @@ -261,13 +261,13 @@ rightWidthField.setAccessibleDescription(NbBundle.getMessage(BorderDataTable.class, "RIGHT_SIDE_BORDER_WIDTH_ACCESS_DESC"), NbBundle.getMessage(BorderDataTable.class, "RIGHT_SIDE_BORDER_WIDTH_UNIT_ACCESS_DESC")); rightWidthField.setWidthString(cssStyleData.getProperty(CssStyleData.BORDER_RIGHT_WIDTH)); - rightWidthField.addPropertyChangeListener(widthPropertyChangeListener); + rightWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); setValueAt(rightWidthField, 5, 2); // Right Side Color rightColorField = new ColorSelectionField(); rightColorField.setColorString(cssStyleData.getProperty(CssStyleData.BORDER_RIGHT_COLOR)); - rightColorField.addPropertyChangeListener(colorPropertyChangeListener); + rightColorField.addCssPropertyChangeListener(colorPropertyChangeListener); setValueAt(rightColorField, 5, 3); checkBorderStyleAll(); @@ -294,7 +294,7 @@ } private void checkBorderWidthAll(){ - allWidthField.removePropertyChangeListener(widthPropertyChangeListener); + allWidthField.removeCssPropertyChangeListener(widthPropertyChangeListener); String topWidth = cssStyleData.getProperty(CssStyleData.BORDER_TOP_WIDTH); String bottomWidth = cssStyleData.getProperty(CssStyleData.BORDER_BOTTOM_WIDTH); @@ -308,11 +308,11 @@ }else{ allWidthField.setWidthString(null); } - allWidthField.addPropertyChangeListener(widthPropertyChangeListener); + allWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); } private void checkBorderColorAll(){ - allColorField.removePropertyChangeListener(colorPropertyChangeListener); + allColorField.removeCssPropertyChangeListener(colorPropertyChangeListener); String topColor = cssStyleData.getProperty(CssStyleData.BORDER_TOP_COLOR); String bottomColor = cssStyleData.getProperty(CssStyleData.BORDER_BOTTOM_COLOR); String leftColor = cssStyleData.getProperty(CssStyleData.BORDER_LEFT_COLOR); @@ -325,7 +325,7 @@ }else{ allColorField.setColorString(null); } - allColorField.addPropertyChangeListener(colorPropertyChangeListener); + allColorField.addCssPropertyChangeListener(colorPropertyChangeListener); } private class StyleItemListener implements ItemListener { @@ -375,10 +375,10 @@ private class WidthPropertyChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent evt) { if(evt.getSource() == allWidthField){ - topWidthField.removePropertyChangeListener(widthPropertyChangeListener); - bottomWidthField.removePropertyChangeListener(widthPropertyChangeListener); - leftWidthField.removePropertyChangeListener(widthPropertyChangeListener); - rightWidthField.removePropertyChangeListener(widthPropertyChangeListener); + topWidthField.removeCssPropertyChangeListener(widthPropertyChangeListener); + bottomWidthField.removeCssPropertyChangeListener(widthPropertyChangeListener); + leftWidthField.removeCssPropertyChangeListener(widthPropertyChangeListener); + rightWidthField.removeCssPropertyChangeListener(widthPropertyChangeListener); cssStyleData.modifyProperty(CssStyleData.BORDER_TOP_WIDTH, evt.getNewValue().toString()); topWidthField.setWidthString(evt.getNewValue().toString()); @@ -392,10 +392,10 @@ cssStyleData.modifyProperty(CssStyleData.BORDER_RIGHT_WIDTH, evt.getNewValue().toString()); rightWidthField.setWidthString(evt.getNewValue().toString()); - topWidthField.addPropertyChangeListener(widthPropertyChangeListener); - bottomWidthField.addPropertyChangeListener(widthPropertyChangeListener); - leftWidthField.addPropertyChangeListener(widthPropertyChangeListener); - rightWidthField.addPropertyChangeListener(widthPropertyChangeListener); + topWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); + bottomWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); + leftWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); + rightWidthField.addCssPropertyChangeListener(widthPropertyChangeListener); }else if(evt.getSource() == topWidthField){ cssStyleData.modifyProperty(CssStyleData.BORDER_TOP_WIDTH, evt.getNewValue().toString()); checkBorderWidthAll(); @@ -415,10 +415,10 @@ private class ColorPropertyChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent evt) { if(evt.getSource() == allColorField){ - topColorField.removePropertyChangeListener(colorPropertyChangeListener); - bottomColorField.removePropertyChangeListener(colorPropertyChangeListener); - leftColorField.removePropertyChangeListener(colorPropertyChangeListener); - rightColorField.removePropertyChangeListener(colorPropertyChangeListener); + topColorField.removeCssPropertyChangeListener(colorPropertyChangeListener); + bottomColorField.removeCssPropertyChangeListener(colorPropertyChangeListener); + leftColorField.removeCssPropertyChangeListener(colorPropertyChangeListener); + rightColorField.removeCssPropertyChangeListener(colorPropertyChangeListener); topColorField.setColorString(allColorField.getColorString()); cssStyleData.modifyProperty(CssStyleData.BORDER_TOP_COLOR, allColorField.getColorString()); @@ -432,10 +432,10 @@ rightColorField.setColorString(allColorField.getColorString()); cssStyleData.modifyProperty(CssStyleData.BORDER_RIGHT_COLOR, allColorField.getColorString()); - topColorField.addPropertyChangeListener(colorPropertyChangeListener); - bottomColorField.addPropertyChangeListener(colorPropertyChangeListener); - leftColorField.addPropertyChangeListener(colorPropertyChangeListener); - rightColorField.addPropertyChangeListener(colorPropertyChangeListener); + topColorField.addCssPropertyChangeListener(colorPropertyChangeListener); + bottomColorField.addCssPropertyChangeListener(colorPropertyChangeListener); + leftColorField.addCssPropertyChangeListener(colorPropertyChangeListener); + rightColorField.addCssPropertyChangeListener(colorPropertyChangeListener); }if(evt.getSource() == topColorField){ cssStyleData.modifyProperty(CssStyleData.BORDER_TOP_COLOR, topColorField.getColorString()); checkBorderColorAll(); Index: src/org/netbeans/modules/visualweb/propertyeditors/css/BorderWidthField.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/BorderWidthField.java,v retrieving revision 1.1 diff -u -r1.1 BorderWidthField.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/BorderWidthField.java 2 Mar 2007 18:29:11 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/BorderWidthField.java 5 Sep 2007 22:34:06 -0000 @@ -61,7 +61,7 @@ * Adds a PropertyChangeListener to the listener list. * @param l The listener to add. */ - public void addPropertyChangeListener(java.beans.PropertyChangeListener l) { + public void addCssPropertyChangeListener(java.beans.PropertyChangeListener l) { propertyChangeSupport.addPropertyChangeListener(l); } @@ -69,7 +69,7 @@ * Removes a PropertyChangeListener from the listener list. * @param l The listener to remove. */ - public void removePropertyChangeListener(java.beans.PropertyChangeListener l) { + public void removeCssPropertyChangeListener(java.beans.PropertyChangeListener l) { propertyChangeSupport.removePropertyChangeListener(l); } Index: src/org/netbeans/modules/visualweb/propertyeditors/css/ColorSelectionField.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/ColorSelectionField.java,v retrieving revision 1.1 diff -u -r1.1 ColorSelectionField.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/ColorSelectionField.java 2 Mar 2007 18:29:09 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/ColorSelectionField.java 5 Sep 2007 22:34:16 -0000 @@ -128,7 +128,7 @@ * Adds a PropertyChangeListener to the listener list. * @param l The listener to add. */ - public void addPropertyChangeListener(java.beans.PropertyChangeListener l) { + public void addCssPropertyChangeListener(java.beans.PropertyChangeListener l) { propertyChangeSupport.addPropertyChangeListener(l); } @@ -136,7 +136,7 @@ * Removes a PropertyChangeListener from the listener list. * @param l The listener to remove. */ - public void removePropertyChangeListener(java.beans.PropertyChangeListener l) { + public void removeCssPropertyChangeListener(java.beans.PropertyChangeListener l) { propertyChangeSupport.removePropertyChangeListener(l); } Index: src/org/netbeans/modules/visualweb/propertyeditors/css/CssStylePropertyEditor.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/CssStylePropertyEditor.java,v retrieving revision 1.1 diff -u -r1.1 CssStylePropertyEditor.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/CssStylePropertyEditor.java 2 Mar 2007 18:29:19 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/CssStylePropertyEditor.java 5 Sep 2007 18:07:26 -0000 @@ -40,7 +40,7 @@ public Component getCustomEditor() { StyleBuilderPanel styleBuilderPanel = new StyleBuilderPanel(getAsText(), this.getDesignProperty()); - styleBuilderPanel.addPropertyChangeListener(this); + styleBuilderPanel.addCssPropertyChangeListener(this); return styleBuilderPanel; } Index: src/org/netbeans/modules/visualweb/propertyeditors/css/FontStyleEditor.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/FontStyleEditor.java,v retrieving revision 1.2 diff -u -r1.2 FontStyleEditor.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/FontStyleEditor.java 16 Jul 2007 18:51:08 -0000 1.2 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/FontStyleEditor.java 5 Sep 2007 22:30:04 -0000 @@ -57,7 +57,7 @@ setDisplayName(NbBundle.getMessage(StyleBuilderDialog.class, "FONT_EDITOR_DISPNAME")); initComponents(); colorSelectionPanel.add(colorField,BorderLayout.CENTER); - colorField.addPropertyChangeListener(this); + colorField.addCssPropertyChangeListener(this); initialize(); } Index: src/org/netbeans/modules/visualweb/propertyeditors/css/MarginDataTable.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/MarginDataTable.java,v retrieving revision 1.1 diff -u -r1.1 MarginDataTable.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/MarginDataTable.java 2 Mar 2007 18:29:24 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/MarginDataTable.java 5 Sep 2007 23:17:42 -0000 @@ -121,7 +121,7 @@ NbBundle.getMessage(MarginDataTable.class, "ALL_SIDE_MARGIN_WIDTH_UNIT_ACCESS_NAME")); allMarginField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "ALL_SIDE_MARGIN_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "ALL_SIDE_MARGIN_WIDTH_UNIT_ACCESS_DESC")); - allMarginField.addPropertyChangeListener(marginPropertyChangeListener); + allMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); setValueAt(allMarginField, 1, 1); // All Side Margin @@ -130,7 +130,7 @@ NbBundle.getMessage(MarginDataTable.class, "ALL_SIDE_PADDING_WIDTH_UNIT_ACCESS_NAME")); allPaddingField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "ALL_SIDE_PADDING_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "ALL_SIDE_PADDING_WIDTH_UNIT_ACCESS_DESC")); - allPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); + allPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); setValueAt(allPaddingField, 1, 2); // Top Side Margin @@ -140,7 +140,7 @@ topMarginField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "TOP_SIDE_MARGIN_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "TOP_SIDE_MARGIN_WIDTH_UNIT_ACCESS_DESC")); topMarginField.setMarginString(cssStyleData.getProperty(CssStyleData.MARGIN_TOP)); - topMarginField.addPropertyChangeListener(marginPropertyChangeListener); + topMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); setValueAt(topMarginField, 2, 1); // Top Side Margin @@ -150,7 +150,7 @@ topPaddingField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "TOP_SIDE_PADDING_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "TOP_SIDE_PADDING_WIDTH_UNIT_ACCESS_DESC")); topPaddingField.setPaddingString(cssStyleData.getProperty(CssStyleData.PADDING_TOP)); - topPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); + topPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); setValueAt(topPaddingField, 2, 2); // Bottom Side Margin @@ -160,7 +160,7 @@ bottomMarginField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "BOTTOM_SIDE_MARGIN_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "BOTTOM_SIDE_MARGIN_WIDTH_UNIT_ACCESS_DESC")); bottomMarginField.setMarginString(cssStyleData.getProperty(CssStyleData.MARGIN_BOTTOM)); - bottomMarginField.addPropertyChangeListener(marginPropertyChangeListener); + bottomMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); setValueAt(bottomMarginField, 3, 1); // Bottom Side Margin @@ -170,7 +170,7 @@ bottomPaddingField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "BOTTOM_SIDE_PADDING_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "BOTTOM_SIDE_PADDING_WIDTH_UNIT_ACCESS_DESC")); bottomPaddingField.setPaddingString(cssStyleData.getProperty(CssStyleData.PADDING_BOTTOM)); - bottomPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); + bottomPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); setValueAt(bottomPaddingField, 3, 2); // Left Side Margin @@ -180,7 +180,7 @@ leftMarginField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "LEFT_SIDE_MARGIN_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "LEFT_SIDE_MARGIN_WIDTH_UNIT_ACCESS_DESC")); leftMarginField.setMarginString(cssStyleData.getProperty(CssStyleData.MARGIN_LEFT)); - leftMarginField.addPropertyChangeListener(marginPropertyChangeListener); + leftMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); setValueAt(leftMarginField, 4, 1); // Left Side Margin @@ -190,7 +190,7 @@ leftPaddingField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "LEFT_SIDE_PADDING_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "LEFT_SIDE_PADDING_WIDTH_UNIT_ACCESS_DESC")); leftPaddingField.setPaddingString(cssStyleData.getProperty(CssStyleData.PADDING_LEFT)); - leftPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); + leftPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); setValueAt(leftPaddingField, 4, 2); // Left Side Margin @@ -200,7 +200,7 @@ rightMarginField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "RIGHT_SIDE_MARGIN_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "RIGHT_SIDE_MARGIN_WIDTH_UNIT_ACCESS_DESC")); rightMarginField.setMarginString(cssStyleData.getProperty(CssStyleData.MARGIN_RIGHT)); - rightMarginField.addPropertyChangeListener(marginPropertyChangeListener); + rightMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); setValueAt(rightMarginField, 5, 1); // Left Side Margin @@ -210,12 +210,12 @@ rightPaddingField.setAccessibleDescription(NbBundle.getMessage(MarginDataTable.class, "RIGHT_SIDE_PADDING_WIDTH_ACCESS_DESC"), NbBundle.getMessage(MarginDataTable.class, "RIGHT_SIDE_PADDING_WIDTH_UNIT_ACCESS_DESC")); rightPaddingField.setPaddingString(cssStyleData.getProperty(CssStyleData.PADDING_RIGHT)); - rightPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); + rightPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); setValueAt(rightPaddingField, 5, 2); } private void checkMarginAll(){ - allMarginField.removePropertyChangeListener(marginPropertyChangeListener); + allMarginField.removeCssPropertyChangeListener(marginPropertyChangeListener); String topMargin = cssStyleData.getProperty(CssStyleData.MARGIN_TOP); String bottomMargin = cssStyleData.getProperty(CssStyleData.MARGIN_BOTTOM); String leftMargin = cssStyleData.getProperty(CssStyleData.MARGIN_LEFT); @@ -228,11 +228,11 @@ }else{ allMarginField.setMarginString(null); } - allMarginField.addPropertyChangeListener(marginPropertyChangeListener); + allMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); } private void checkPaddingAll(){ - allPaddingField.removePropertyChangeListener(paddingPropertyChangeListener); + allPaddingField.removeCssPropertyChangeListener(paddingPropertyChangeListener); String topPadding = cssStyleData.getProperty(CssStyleData.PADDING_TOP); String bottomPadding = cssStyleData.getProperty(CssStyleData.PADDING_BOTTOM); String leftPadding = cssStyleData.getProperty(CssStyleData.PADDING_LEFT); @@ -246,17 +246,17 @@ allPaddingField.setPaddingString(null); } - allPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); + allPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); } private class MarginPropertyChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent evt) { if(evt.getSource() == allMarginField){ - topMarginField.removePropertyChangeListener(marginPropertyChangeListener); - bottomMarginField.removePropertyChangeListener(marginPropertyChangeListener); - leftMarginField.removePropertyChangeListener(marginPropertyChangeListener); - rightMarginField.removePropertyChangeListener(marginPropertyChangeListener); + topMarginField.removeCssPropertyChangeListener(marginPropertyChangeListener); + bottomMarginField.removeCssPropertyChangeListener(marginPropertyChangeListener); + leftMarginField.removeCssPropertyChangeListener(marginPropertyChangeListener); + rightMarginField.removeCssPropertyChangeListener(marginPropertyChangeListener); cssStyleData.modifyProperty(CssStyleData.MARGIN_TOP, evt.getNewValue().toString()); topMarginField.setMarginString(evt.getNewValue().toString()); @@ -270,10 +270,10 @@ cssStyleData.modifyProperty(CssStyleData.MARGIN_RIGHT, evt.getNewValue().toString()); rightMarginField.setMarginString(evt.getNewValue().toString()); - topMarginField.addPropertyChangeListener(marginPropertyChangeListener); - bottomMarginField.addPropertyChangeListener(marginPropertyChangeListener); - leftMarginField.addPropertyChangeListener(marginPropertyChangeListener); - rightMarginField.addPropertyChangeListener(marginPropertyChangeListener); + topMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); + bottomMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); + leftMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); + rightMarginField.addCssPropertyChangeListener(marginPropertyChangeListener); }else if(evt.getSource() == topMarginField){ cssStyleData.modifyProperty(CssStyleData.MARGIN_TOP, evt.getNewValue().toString()); checkMarginAll(); @@ -293,10 +293,10 @@ private class PaddingPropertyChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent evt) { if(evt.getSource() == allPaddingField){ - topPaddingField.removePropertyChangeListener(paddingPropertyChangeListener); - bottomPaddingField.removePropertyChangeListener(paddingPropertyChangeListener); - leftPaddingField.removePropertyChangeListener(paddingPropertyChangeListener); - rightPaddingField.removePropertyChangeListener(paddingPropertyChangeListener); + topPaddingField.removeCssPropertyChangeListener(paddingPropertyChangeListener); + bottomPaddingField.removeCssPropertyChangeListener(paddingPropertyChangeListener); + leftPaddingField.removeCssPropertyChangeListener(paddingPropertyChangeListener); + rightPaddingField.removeCssPropertyChangeListener(paddingPropertyChangeListener); cssStyleData.modifyProperty(CssStyleData.PADDING_TOP, evt.getNewValue().toString()); topPaddingField.setPaddingString(evt.getNewValue().toString()); @@ -310,10 +310,10 @@ cssStyleData.modifyProperty(CssStyleData.PADDING_RIGHT, evt.getNewValue().toString()); rightPaddingField.setPaddingString(evt.getNewValue().toString()); - topPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); - bottomPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); - leftPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); - rightPaddingField.addPropertyChangeListener(paddingPropertyChangeListener); + topPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); + bottomPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); + leftPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); + rightPaddingField.addCssPropertyChangeListener(paddingPropertyChangeListener); }else if(evt.getSource() == topPaddingField){ cssStyleData.modifyProperty(CssStyleData.PADDING_TOP, evt.getNewValue().toString()); checkPaddingAll(); Index: src/org/netbeans/modules/visualweb/propertyeditors/css/MarginWidthField.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/MarginWidthField.java,v retrieving revision 1.1 diff -u -r1.1 MarginWidthField.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/MarginWidthField.java 2 Mar 2007 18:29:09 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/MarginWidthField.java 5 Sep 2007 22:34:38 -0000 @@ -60,7 +60,7 @@ * Adds a PropertyChangeListener to the listener list. * @param l The listener to add. */ - public void addPropertyChangeListener(java.beans.PropertyChangeListener l) { + public void addCssPropertyChangeListener(java.beans.PropertyChangeListener l) { propertyChangeSupport.addPropertyChangeListener(l); } @@ -68,7 +68,7 @@ * Removes a PropertyChangeListener from the listener list. * @param l The listener to remove. */ - public void removePropertyChangeListener(java.beans.PropertyChangeListener l) { + public void removeCssPropertyChangeListener(java.beans.PropertyChangeListener l) { propertyChangeSupport.removePropertyChangeListener(l); } Index: src/org/netbeans/modules/visualweb/propertyeditors/css/PaddingWidthField.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/PaddingWidthField.java,v retrieving revision 1.1 diff -u -r1.1 PaddingWidthField.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/PaddingWidthField.java 2 Mar 2007 18:29:14 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/PaddingWidthField.java 5 Sep 2007 23:17:42 -0000 @@ -60,10 +60,18 @@ * Adds a PropertyChangeListener to the listener list. * @param l The listener to add. */ - public void addPropertyChangeListener(java.beans.PropertyChangeListener l) { + public void addCssPropertyChangeListener(java.beans.PropertyChangeListener l) { propertyChangeSupport.addPropertyChangeListener(l); } + /** + * Removes a PropertyChangeListener from the listener list. + * @param l The listener to remove. + */ + public void removeCssPropertyChangeListener(java.beans.PropertyChangeListener l) { + propertyChangeSupport.removePropertyChangeListener(l); + } + public void setPaddingString(String paddingStr){ if((paddingStr != null) && !paddingStr.equals("")){ if(Utils.isInteger(paddingStr)){ @@ -82,6 +90,8 @@ public String getPaddingString(){ return borderPaddingData.toString(); } + + private String getUnit(String paddingStr){ DefaultComboBoxModel unitList = marginPaddingModel.getPaddingUnitList(); for(int i=0; i< unitList.getSize(); i++){ @@ -115,13 +125,7 @@ } } - /** - * Removes a PropertyChangeListener from the listener list. - * @param l The listener to remove. - */ - public void removePropertyChangeListener(java.beans.PropertyChangeListener l) { - propertyChangeSupport.removePropertyChangeListener(l); - } + // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { Index: src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderDialog.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderDialog.java,v retrieving revision 1.1 diff -u -r1.1 StyleBuilderDialog.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderDialog.java 2 Mar 2007 18:29:22 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderDialog.java 5 Sep 2007 18:07:14 -0000 @@ -42,7 +42,7 @@ initComponents(); String cssStyleString = "font-family:'Arial', 'Times New Roman', 'sans-serif'" ; StyleBuilderPanel styleBuilderPanel = new StyleBuilderPanel(cssStyleString); - styleBuilderPanel.addPropertyChangeListener(this); + styleBuilderPanel.addCssPropertyChangeListener(this); add(styleBuilderPanel, BorderLayout.CENTER); } Index: src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderPanel.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderPanel.java,v retrieving revision 1.4 diff -u -r1.4 StyleBuilderPanel.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderPanel.java 19 Jul 2007 22:20:56 -0000 1.4 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderPanel.java 5 Sep 2007 22:33:55 -0000 @@ -108,7 +108,7 @@ } styleEditorListPanel.setSelectedEditor((StyleEditor)styleEditorList.get(0)); setEditorListPanel(styleEditorListPanel); - cssStyleData.addPropertyChangeListener(this); + cssStyleData.addCssPropertyChangeListener(this); /*previewImage = new BufferedImage(200,50,BufferedImage.TYPE_INT_RGB); Graphics2D g2d = (Graphics2D)previewImage.getGraphics(); g2d.setColor(Color.BLUE); @@ -150,7 +150,7 @@ * The property change listener is added to the CssStyleData * @param listener The listener to add. */ - public void addPropertyChangeListener(PropertyChangeListener listener) { + public void addCssPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(listener); } @@ -159,7 +159,7 @@ * The property change listener is removed from the CssStyleData * @param listener The listener to remove. */ - public void removePropertyChangeListener(PropertyChangeListener listener) { + public void removeCssPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(listener); } Index: src/org/netbeans/modules/visualweb/propertyeditors/css/model/CssStyleData.java =================================================================== RCS file: /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/model/CssStyleData.java,v retrieving revision 1.1 diff -u -r1.1 CssStyleData.java --- src/org/netbeans/modules/visualweb/propertyeditors/css/model/CssStyleData.java 2 Mar 2007 18:28:56 -0000 1.1 +++ src/org/netbeans/modules/visualweb/propertyeditors/css/model/CssStyleData.java 5 Sep 2007 22:33:35 -0000 @@ -250,7 +250,7 @@ * Adds a PropertyChangeListener to the listener list. * @param listener The listener to add. */ - public void addPropertyChangeListener(PropertyChangeListener listener) { + public void addCssPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(listener); } @@ -258,7 +258,7 @@ * Removes a PropertyChangeListener from the listener list. * @param listener The listener to remove. */ - public void removePropertyChangeListener(PropertyChangeListener listener) { + public void removeCssPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(listener); } }
Lark, do you consider this a stopper for beta 1 ? do stoppers get marked with a keyword ?
As an end user, I would definitely consider the inability to enter style information for VWP components to be a blocker.
That's a huge diff on the eve of beta1. This issue blocks all style editing with jdk 1.6, but users can still use jdk 1.5 without issues. Please integrate into trunk so we can test it there. We can discuss the feasibility of porting this to beta 1 after that.
As long as it makes it into the final version of 6.0. :-) I think the fix not making it into the first beta build is acceptable. I understand this is a large body of changes and you need to evaluate its impact and re-test it.
Winston, we agreed with Lark that the bug is stopper for Beta1. Please, commit the fix in trunk ASAP. Lark will verify the fix there and then approve to merge the fix in beta1 branch. Thanks, Petr
Thank you all.
Petr, I don't consider this as a show stopper for beta1 for the following reason - This code exists for almost 3 years now (Creator 2 onwards) - This problem is not specific to JDK 1.6, otherwise we would have caught it long time ago. - Does not occur if you are using any other L & F (Ex. Windows, Mac etc) - Occurs only if JDK 1.6 Synth look and feel is used. - Can occur in JDK 1.5 also because it also has Synth L &F. - Finally, the change is huge at this time of release for beta1 and needs complete testing of Style Builder again, since almost all the components uses it at designtime. - May be only a small percentage (who uses Synth L & F) will be affected by this. The work around may be is use different L & F than Synth. If you still think this is a show stopper, I will be glad to integrate this in to Bet1 branch.
Yes, but the default Linux GTK L&F is Synth, hence effectively you are stopping all Linux users from using VWP.
The diff for the bug is really huge and there is high risk for some regressions that would be introduced one day before Go/No GO day for Beta1. Since the workaround is switch to jdk 1.5 the bug is more P2. The bug will be fixed in Beta2 or in the next daily build. Also, reporter agreed to fixing the bug in beta2.
I understand. Beta2 would be fine.
Hi jfurmankiewicz, Could you run netbeans with netbeans --laf javax.swing.plaf.metal.MetalLookAndFeel and let us know if that solves the problem.
Using the switch works for me. I placed mine at the end of the startup icon's launcher command, but you can also add it to the [netbeans-install]/etc/netbeans.conf netbeans_default_options switch. Note: Downgrading to P2 as this is no longer considered a stopper.
Fixed in the trunk. IDE:------------------------------------------------- IDE: [9/6/07 12:34 PM] Committing Files started Checking in BackgroundStyleEditor.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/BackgroundStyleEditor.java,v <-- BackgroundStyleEditor.java new revision: 1.4; previous revision: 1.3 done Checking in CssStylePropertyEditor.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/CssStylePropertyEditor.java,v <-- CssStylePropertyEditor.java new revision: 1.2; previous revision: 1.1 done Checking in FontStyleEditor.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/FontStyleEditor.java,v <-- FontStyleEditor.java new revision: 1.3; previous revision: 1.2 done Checking in MarginWidthField.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/MarginWidthField.java,v <-- MarginWidthField.java new revision: 1.2; previous revision: 1.1 done Checking in BorderWidthField.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/BorderWidthField.java,v <-- BorderWidthField.java new revision: 1.2; previous revision: 1.1 done Checking in BorderDataTable.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/BorderDataTable.java,v <-- BorderDataTable.java new revision: 1.2; previous revision: 1.1 done Checking in StyleBuilderPanel.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderPanel.java,v <-- StyleBuilderPanel.java new revision: 1.5; previous revision: 1.4 done Checking in StyleBuilderDialog.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/StyleBuilderDialog.java,v <-- StyleBuilderDialog.java new revision: 1.2; previous revision: 1.1 done Checking in ColorSelectionField.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/ColorSelectionField.java,v <-- ColorSelectionField.java new revision: 1.2; previous revision: 1.1 done Checking in MarginDataTable.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/MarginDataTable.java,v <-- MarginDataTable.java new revision: 1.2; previous revision: 1.1 done Checking in PaddingWidthField.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/PaddingWidthField.java,v <-- PaddingWidthField.java new revision: 1.2; previous revision: 1.1 done Checking in model/CssStyleData.java; /cvs/visualweb/propertyeditors/src/org/netbeans/modules/visualweb/propertyeditors/css/model/CssStyleData.java,v <-- CssStyleData.java new revision: 1.2; previous revision: 1.1 done IDE: [9/6/07 12:34 PM] Committing Files finished
This needs to be release noted for beta1.
Verified using trunk: 200709110000 with jdk 1.6.0_02