有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java设置RowHeaderView宽度,将textarea作为组件

我试图在一个区域旁边显示行号

以下是代码的用途->

jScrollPane1.setRowHeaderView(jTextArea3);
jTextArea1.getDocument().addDocumentListener(new DocumentListener() {
    public String getText() {
        int caretPosition = jTextArea1.getDocument().getLength();
        Element root = jTextArea1.getDocument().getDefaultRootElement();
        text = "1" + System.getProperty("line.separator");
        for (int i = 2; i < root.getElementIndex(caretPosition) + 2; i++) {
            text += i + System.getProperty("line.separator");
        }
        return text;
    }

    @Override
    public void changedUpdate(DocumentEvent de) {
        jTextArea3.setText(getText());
    }

    @Override
    public void insertUpdate(DocumentEvent de) {
        jTextArea3.setText(getText());
    }

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

(其中jTextArea3是显示行号的地方,jTextArea1是输入文本的地方。JScrollpane2包含jTextArea3)

它工作得很好,但在较高的行数下,存在问题->

http://imageshack.com/a/img36/737/yvhk.png(sry还不允许直接上传图像)

需要帮忙吗

PS->;我正在使用NETBeBeS(只是在学习java的中间),并且使用默认的布局(这是软件自动生成的,这也意味着默认布局属性)。p>


共 (0) 个答案