我有JTextArea
我想根据列数和行数显示特定的文本行数;但getColumns
和getRows
返回零。以下内容应该说明我想要实现的目标:
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();
}
为什么getRows
和getColumns
返回零?
答案 0 :(得分:3)
使用此构造函数
javax.swing.JTextArea.JTextArea(int rows, int columns)
编辑:
试试这个:
this.editor.setHeight(this.textArea.getHeight());
this.editor.setWidth(this.textArea.getWidth());