[ https://issues.apache.org/jira/browse/NETBEANS-3355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benedikt Schlagberger updated NETBEANS-3355: -------------------------------------------- Description: When painting in the sidebar using the {{SideBarFactory}}, the painted Graphic is offset for large files. To reproduce, create a NetBeans plugin project and add the following class: {code:java} package com.mycompany.sidebar_test; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JComponent; import javax.swing.text.JTextComponent; import org.netbeans.spi.editor.SideBarFactory; public class MySidebarFactory implements SideBarFactory { @Override public JComponent createSideBar(JTextComponent jtc) { return new MySidebar(); } private class MySidebar extends JComponent { @Override protected void paintComponent(Graphics g) { g.setColor(Color.BLUE); g.fillRect(0, 0, 10, 1000); } @Override public Dimension getPreferredSize() { Dimension dimension = new Dimension(this.getParent().getSize()); dimension.width = 10; return dimension; } } } {code} Register the {{SideBarFactory}} using the following {{layers.xml}}: {code:xml} <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <filesystem> <folder name="Editors"> <folder name="SideBar"> <file name="com-mycompany-sidebar_test-MySidebarFactory.instance"> <attr name="location" stringvalue="West"/> </file> </folder> </folder> </filesystem> {code} Now start the plugin and open a project containing a large file for example the [StrBuilder.java|https://raw.githubusercontent.com/apache/commons-lang/master/src/main/java/org/apache/commons/lang3/text/StrBuilder.java] from the apache commons lib. The painting is offset by a large amount as you can see in the attached screenshot (blue rectangle should start in line 1). When shortening the file and re-opening it, the marker moves, so I suppose this is related to the file size. was: When painting in the sidebar using the {{SideBarFactory}}, the painted Graphic is offset for large files. To reproduce, create a NetBeans plugin project and add the following class: {code:java} package com.mycompany.sidebar_test; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JComponent; import javax.swing.text.JTextComponent; import org.netbeans.spi.editor.SideBarFactory; public class MySidebarFactory implements SideBarFactory { @Override public JComponent createSideBar(JTextComponent jtc) { return new MySidebar(); } private class MySidebar extends JComponent { @Override protected void paintComponent(Graphics g) { g.setColor(Color.BLUE); g.fillRect(0, 0, 10, 1000); } @Override public Dimension getPreferredSize() { Dimension dimension = new Dimension(this.getParent().getSize()); dimension.width = 10; return dimension; } } } {code} Register the {{SideBarFactory}} using the following {{layers.xml}}: {code:xml} <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <filesystem> <folder name="Editors"> <folder name="SideBar"> <file name="com-mycompany-sidebar_test-MySidebarFactory.instance"> <attr name="location" stringvalue="West"/> </file> </folder> </folder> </filesystem> {code} Now start the plugin and open a project containing a large file for example the [StrBuilder.java|https://raw.githubusercontent.com/apache/commons-lang/master/src/main/java/org/apache/commons/lang3/text/StrBuilder.java] from the apache commons lib. The painting is offset by a large amount as you can see in the attached screenshot. When shortening the file and re-opening it, the marker moves, so I suppose this is related to the file size. > SideBarFactory painting offset with large files > ----------------------------------------------- > > Key: NETBEANS-3355 > URL: https://issues.apache.org/jira/browse/NETBEANS-3355 > Project: NetBeans > Issue Type: Bug > Affects Versions: 8.2, 11.0 > Reporter: Benedikt Schlagberger > Priority: Major > Attachments: Bildschirmfoto von 2019-11-07 19-34-21.png > > > When painting in the sidebar using the {{SideBarFactory}}, the painted > Graphic is offset for large files. To reproduce, create a NetBeans plugin > project and add the following class: > {code:java} > package com.mycompany.sidebar_test; > import java.awt.Color; > import java.awt.Dimension; > import java.awt.Graphics; > import javax.swing.JComponent; > import javax.swing.text.JTextComponent; > import org.netbeans.spi.editor.SideBarFactory; > public class MySidebarFactory implements SideBarFactory { > @Override > public JComponent createSideBar(JTextComponent jtc) { > return new MySidebar(); > } > private class MySidebar extends JComponent { > @Override > protected void paintComponent(Graphics g) { > g.setColor(Color.BLUE); > g.fillRect(0, 0, 10, 1000); > } > @Override > public Dimension getPreferredSize() { > Dimension dimension = new Dimension(this.getParent().getSize()); > dimension.width = 10; > return dimension; > } > } > } > {code} > Register the {{SideBarFactory}} using the following {{layers.xml}}: > {code:xml} > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" > "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> > <filesystem> > <folder name="Editors"> > <folder name="SideBar"> > <file name="com-mycompany-sidebar_test-MySidebarFactory.instance"> > <attr name="location" stringvalue="West"/> > </file> > </folder> > </folder> > </filesystem> > {code} > Now start the plugin and open a project containing a large file for example > the > [StrBuilder.java|https://raw.githubusercontent.com/apache/commons-lang/master/src/main/java/org/apache/commons/lang3/text/StrBuilder.java] > from the apache commons lib. > The painting is offset by a large amount as you can see in the attached > screenshot (blue rectangle should start in line 1). When shortening the file > and re-opening it, the marker moves, so I suppose this is related to the file > size. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists