Tag: jscrollpane

如何将jscrollpane添加到jframe?

我有以下源代码…有人可以给我一个如何将jscrollpane添加到jframe的建议吗? 我尝试了几次将它添加到jframe但没有任何进展。 它甚至没有显示出来。 public class Form3 { JFrame jframe = new JFrame(“Etiket print.”); JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JScrollPane scrollFrame = new JScrollPane(panel2); Color myBlue1Color = new Color(168, 175, 247); Color myBlue2Color = new Color(139, 146, 255); public Form3(){ jframe.setMinimumSize(new […]

如何将组件置于其他组件之上?

我有一个JScrollPanel包括一个大面板,它自己包括3个内部面板。 我想把一个面板(例如)放在一个特殊的地方,以便始终可以看到,我的意思是用户可以滚动到任何想要的地方,但该面板始终位于其他组件的顶部,并且不会移动。 我试图通过JLayeredPane这样做,但我做不到。 我该怎么办?

Java / Swing:JScrollPane中的JTextArea,如何防止自动滚动?

这是一段可运行的代码,显示了我的“问题”。 我有一个包装在JScrollPane的JTextArea 。 当我更改JTextArea的文本时, JScrollPane自动滚动到文本的末尾,我不希望这样。 这是我的要求: 应用程序不应自动垂直滚动,但…… 用户应该能够垂直滚动 用户不应该能够水平滚动 应用程序永远不应水平滚动 JTextArea不能编辑 (因此,即使文本多于水平放置的文本,应用程序和用户都不应该能够水平滚动。在垂直方向上,只有用户应该能够滚动。) 我不知道如何“修复”这个:是否应该使用JTextArea或JScrollPane方法修复? 请注意,AFAICT根本不重复: JTextPane阻止在父JScrollPane中滚动 这是一个有趣的例子,它每隔200毫秒将新文本放入JTextArea ,你可以看到JScrollPane总是自动滚动到文本的末尾。 import javax.swing.*; import java.awt.*; import java.util.Random; public final class TextInScrollPane extends JFrame { private static final Random r = new Random( 42 ); public static void main( final String[] args ) { final JFrame f = new JFrame(); […]

使JScrollPane控制多个组件

对于我的应用程序,我正在设计脚本编辑器。 目前我有一个JPanel ,它包含另一个保存行号(位于左侧)的JPanel ,以及一个JTextArea ,用于允许用户键入其代码(位于右侧)。 目前,我已在JTextArea上实现了一个JScrollPane ,以允许用户滚动其代码。 对于包含行号的JPanel ,每次用户按下回车键时,它们都会递增。 但是,问题是我想要相同的JScrollPane(在JTextArea上实现的那个)来控制行号JPanel的滚动; 即,当用户在JTextArea上滚动时,行号JPanel也应该滚动。 但由于行号保存在JPanel中,我无法将该组件添加到JTextArea。 包含JTextArea和行号JPanel的JPanel类的构造函数: private ScriptEditor() { setBackground(Color.WHITE); lineNumPanel = new LineNumberPanel(); scriptArea = new JTextArea(); scriptArea.setLineWrap(true); scriptArea.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 15)); scriptArea.setMargin(new Insets(3, 10, 0, 10)); JScrollPane scrollPane = new JScrollPane(scriptArea); scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setPreferredSize(new Dimension(width, height)); scriptArea.addKeyListener(this); add(lineNumPanel); add(scrollPane); } 行号JPanel的构造函数,它在其自身中添加JLabel以表示行号: public LineNumberPanel() { setPreferredSize(new Dimension(width, height)); […]