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.
1. Create simple java class: package anonymousToMember; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; public class ClassA { public void m1() { JButton btn = new JButton(); btn.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) { System.out.println("Clicked"); } @Override public void mousePressed(MouseEvent e) { System.out.println("Pressed"); } @Override public void mouseReleased(MouseEvent e) { System.out.println("Released"); } @Override public void mouseEntered(MouseEvent e) { System.out.println("Entered"); } @Override public void mouseExited(MouseEvent e) { System.out.println("Exited"); } }); } } 2. Set Options according attached images (options1, options2) 3. Right click "MouseListener" and from pop-up menu select Refactor > Convert Anonymous to Member... >> Anonymous class has been converted to member but its indent has been broken Product Version: NetBeans IDE Dev (Build 201312110002) Java: 1.7.0_45; Java HotSpot(TM) 64-Bit Server VM 24.45-b08 Runtime: Java(TM) SE Runtime Environment 1.7.0_45-b18 System: Windows 7 version 6.1 running on amd64; Cp1252; en_US (nb)
Created attachment 143136 [details] options1
Created attachment 143137 [details] options2
Created attachment 143138 [details] before/after
The source is generated +- correctly, that is: public class ClassA { public void m1() { JButton btn = new JButton(); btn.addMouseListener(new MouseListenerImpl()); } private static class MouseListenerImpl implements MouseListener { public MouseListenerImpl() { } @Override public void mouseClicked(MouseEvent e) { System.out.println("Clicked"); } @Override public void mousePressed(MouseEvent e) { System.out.println("Pressed"); } @Override public void mouseReleased(MouseEvent e) { System.out.println("Released"); } @Override public void mouseEntered(MouseEvent e) { System.out.println("Entered"); } @Override public void mouseExited(MouseEvent e) { System.out.println("Exited"); } } } Each copied method is then reindented (separately, one method region at a time), using Indent.reindent() starting from the @Override. However the indenter computes the desired methods indent to 12.
Fixed in jet-main. http://hg.netbeans.org/jet-main/rev/2447207afb9e
Integrated into 'main-silver', will be available in build *201404270001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/2447207afb9e User: Dusan Balek <dbalek@netbeans.org> Log: Issue #239452: [Anonymous to member] breaks indent - fixed.
Integrated into 'main-silver', will be available in build *201410180001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/23affa43cc5f User: Dusan Balek <dbalek@netbeans.org> Log: Issue #239452: [Anonymous to member] breaks indent - fixed.