【问题标题】:JTextArea line numbers of menu item菜单项的 JTextArea 行号
【发布时间】:2023-03-24 12:26:01
【问题描述】:

我正在尝试使用 Java 的 AWT 和 SWING 概念开发一个项目。

我有一个名为“Viewline Numbers(即,我们为此选择了JCheckBox)”的菜单项。当我选中复选框时,它会在另一个文档中显示行号。但是,我想像 Editplus 编辑器一样使用 Document 来显示行号。

这是我的代码

   private void ViewLineNumbersActionPerformed(java.awt.event.ActionEvent evt) {  
            lines = new JTextArea("");
    lines.setBackground(Color.LIGHT_GRAY);
    lines.setEditable(false);
            lines.setSize(10,10);
    tx.getDocument().addDocumentListener(new DocumentListener(){
        public String getText(){
            int caretPosition = tx.getDocument().getLength();
                          //  System.out.println("caretPosition"+ caretPosition);
            Element root = tx.getDocument().getDefaultRootElement();
                          //  System.out.println("root"+ root);
            String text = "1" + System.getProperty("line.separator");

                            int c=root.getElementIndex( caretPosition );
                          //  System.out.println(c);
            for(int i = 2; i < c + 2; i++){
                text += i + System.getProperty("line.separator");
            }
            return text;
        }
        @Override
        public void `enter code here`changedUpdate(DocumentEvent de) {
            lines.setText(getText());
        }
        @Override
        public void insertUpdate(DocumentEvent de) {
            lines.setText(getText());
        }

        @Override
        public void removeUpdate(DocumentEvent de) {
            lines.setText(getText());
        }
    });


            sp.getViewport().add(tx);
           // sp.setViewportView(tx);

    sp.setRowHeaderView(lines);
  }

【问题讨论】:

  • “请给我答复我的问题。” ..什么问题?更重要的是:What have you tried? 展示你的努力会鼓励其他人提供帮助。
  • 能否请您更具体一些,也请给我们一些代码,否则无法帮助您。

标签: java swing jtextarea


【解决方案1】:

但是,我想像 Editplus 编辑器一样使用 Document 来显示行号。

我非常怀疑行号是文档的一部分。它们可能显示为同一组件的一部分,但我确信当您复制/粘贴文本时,您不会获得包含的行号。

假设我的上述陈述是正确的,您可以尝试使用Text Component Line Number。由于这是一个显示在滚动窗格的行标题中的组件,您应该能够根据您的复选框切换组件的可见性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2017-03-09
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多