Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTextArea菜单项的行号_Java_Swing_Jtextarea - Fatal编程技术网

Java JTextArea菜单项的行号

Java JTextArea菜单项的行号,java,swing,jtextarea,Java,Swing,Jtextarea,我正在尝试使用Java的AWT和SWING概念开发一个项目 因为我有一个菜单项,名为“Viewline number(即我们为此选择了JCheckBox)。当我选中该复选框时,它将在另一个文档中显示行号。但是,我想在同一个文档中显示行号,就像Editplus编辑器一样 这是我的密码 private void ViewLineNumbersActionPerformed(java.awt.event.ActionEvent evt) { lines = new J

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

因为我有一个菜单项,名为“Viewline number(即我们为此选择了
JCheckBox
)。当我选中该复选框时,它将在另一个文档中显示行号。但是,我想在同一个文档中显示行号,就像Editplus编辑器一样

这是我的密码

   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);
  }
private void ViewLineNumbersActionPerformed(java.awt.event.ActionEvent evt){
行=新的JTextArea(“”);
线条。背景(颜色。浅灰色);
行。设置可编辑(false);
行。设置大小(10,10);
tx.getDocument().addDocumentListener(新DocumentListener()){
公共字符串getText(){
int caretPosition=tx.getDocument().getLength();
//System.out.println(“caretPosition”+caretPosition);
元素根=tx.getDocument().getDefaultRootElement();
//System.out.println(“根”+根);
String text=“1”+System.getProperty(“line.separator”);
int c=root.getElementIndex(caretPosition);
//系统输出打印ln(c);
对于(int i=2;i
但是,我想在同一个文档中显示行号,就像Editplus编辑器一样

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


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

“请回答我的问题。”…什么问题?更重要的是:展示你的努力会鼓励其他人提供帮助。请你更具体一点,并向我们展示一些代码,否则无法帮助你。