JTextArea getColumns,getRows返回0

时间:2015-03-25 20:31:48

标签: java swing

我有JTextArea我想根据列数和行数显示特定的文本行数;但getColumnsgetRows返回零。以下内容应该说明我想要实现的目标:

public class Frame extends JFrame implements ComponentListener {
    ...
    this.textArea = new JTextArea();
    this.textArea.setFocusable(false);
    this.textArea.setFont(new Font(Font.MONOSPACED, Font.BOLD, 20));
    this.add(textArea, BorderLayout.CENTER);
    this.editor = new Editor(new File("test"));
    this.textArea.addComponentListener(this);
    ...
    @Override
    public void componentResized(ComponentEvent ce) {
        this.editor.setHeight(this.textArea.getRows());
        this.editor.setWidth(this.textArea.getColumns());
        drawText();
    }

为什么getRowsgetColumns返回零?

1 个答案:

答案 0 :(得分:3)

使用此构造函数

javax.swing.JTextArea.JTextArea(int rows, int columns)

编辑:

试试这个:

this.editor.setHeight(this.textArea.getHeight());
this.editor.setWidth(this.textArea.getWidth());