I have a simple JEditorPane inside a JScrollPane that displays line numbers on the left side. It works great except when you move the window off screen and pull it back again, it looks the this when you stop dragging:
any ideas? Should I need to be listening for a move/drag event and calling repaint/revalidate somewhere?
Thought it might be something obvious, but here is some code. I am using the JSyntaxPane.
public EditorPanel()
{
this.setLayout(new BorderLayout());
PythonSyntaxKit.initKit();
codeEditor = new JEditorPane();
JScrollPane scrPane = new JScrollPane(codeEditor);
Dimension d = new Dimension(710,702);
codeEditor.setPreferredSize(d);
codeEditor.setContentType("text/python");
codeEditor.setText("Welcome to PhysUtil!");
this.add(scrPane, BorderLayout.CENTER);
toolbar = new PhysUtilToolbar();
this.add(toolbar, BorderLayout.PAGE_START);
this.repaint();
}
//from MainFrame Class...
public EditorPanel mainEditor;
public MainFrame()
{
//Someone can figure out how to load the icon...kept throwing an error
//ImageIcon icon = new ImageIcon(getClass().getResource("exit.png"));
PhysUtilMenuBar menuBar = new PhysUtilMenuBar();
this.mainEditor = new EditorPanel();
menuBar.editorPanel = mainEditor;
this.setJMenuBar(menuBar);
this.setTitle("PhysUtil");
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(mainEditor);
Image icon = Toolkit.getDefaultToolkit().getImage("icon.jpg");
this.setIconImage(icon);
this.setSize(800, 800);
this.setLocation(0, 0);
this.setVisible(true);
}