如何计算文本在JTextArea中的行数(以及每行中的列数)?
在对问题中提出的问题感兴趣后, 我试图接近它几次并且失败了,我不喜欢那个:)
我认为如果问题被分成子问题,它可能有助于解决它。
为简单起见,假设JTextArea不会改变其大小,因此我们不需要担心重新评估等。我认为重要的问题是:
1.如何计算某个文本在JTextArea中占用的行数?
2. JTextArea中的列数与它可以放在一行中的字符数之间的关系是什么?所以我们可以计算行长度。
请在下面找到包含要处理的文本区域的示例代码:
import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.SwingUtilities;public class TextAreaLines{ public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { JPanel p = new JPanel(); JFrame f = new JFrame(); JTextArea ta = new JTextArea("dadsad sasdasdasdasdasd"); ta.setWrapStyleWord(true); ta.setLineWrap(true); ta.setRows(5); ta.setColumns(5); p.add(ta); f.setContentPane(p); f.setSize(400, 300); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); //BTW the code below prints 1 System.out.println("ta.getLineCount()="+ta.getLineCount()); } }); }}
呼啦一阵风
Helenr
相关分类