Java如何在文本组件右侧显示行号

Java how to display line number on the right side of text components

我想在文本组件中显示行号。我找到了这个 link https://tips4java.wordpress.com/2009/05/23/text-component-line-number/ 它奏效了。但是我想在文本区域的右侧显示行号。我该怎么做。谢谢!

TextLineNumber 是一个 Swing 组件。如何在滚动窗格中显示多个组件?您将组件添加到面板,然后将面板添加到滚动窗格的视口。一种方法可能是使用带有 BorderLayout 的面板:

JPanel panel = new JPanel( new BorderLayout() );
panel.add(textArea, BorderLayout.CENTER);
TextLineNumber lineNumber = new TextLineNumber(textArea, 3);
panel.add(lineNumber, BorderLayout.EAST);
JScrollPane scrollPane = new JScrollPane( panel );

或者您可以使用现有代码并更改滚动窗格的方向:

scrollPane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

行号将在右边,但滚动条现在在左边。