You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "Benedikt Schlagberger (Jira)" <ji...@apache.org> on 2019/11/11 10:52:00 UTC
[jira] [Updated] (NETBEANS-3355) SideBarFactory painting offset
with large files
[ 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-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists