Ich habe ein einfaches JEditorPane in einem JScrollPane, das Zeilennummern auf der linken Seite anzeigt. Es funktioniert großartig, außer wenn Sie das Fenster außerhalb des Bildschirms bewegen und ziehen Sie sie wieder zurück, es ist das aussieht, wenn Sie ziehen stoppen:Java Swing JScrollPane Zeilennummer Glitch
irgendwelche Ideen? Sollte ich auf ein Move/Drag Event warten und Repaint/Revalidate aufrufen müssen?
Dachte, es könnte etwas offensichtlich sein, aber hier ist ein Code. Ich benutze das 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);
}
Damals habe ich eine TextAreaLineNumberBorder-Klasse, eine Erweiterung von Border, erstellt. Hätten Sie Interesse daran? – ControlAltDel
keine Ahnung, bitte bearbeiten Sie Ihre Frage mit einem [SSCCE] (http://sscce.org/) – mKorbel
Sind Sie auf einem Windows-System mit zwei Monitoren? Macht es das auf beiden Monitoren? –