Java JTextArea获得了整条生产线
如何从JTA中获取所选行?我想您可以使用getLineStartOffset(int-line)和getLineEndOffset(int-line)从getText()返回的字符串中生成特定行的子字符串 如果您的意思是想知道用户选择了什么(使用鼠标/键盘):Java JTextArea获得了整条生产线,java,jtextarea,swing,Java,Jtextarea,Swing,如何从JTA中获取所选行?我想您可以使用getLineStartOffset(int-line)和getLineEndOffset(int-line)从getText()返回的字符串中生成特定行的子字符串 如果您的意思是想知道用户选择了什么(使用鼠标/键盘): getSelectedText()应该会给您这个提示。为什么不将这些行拆分为令牌呢。然后,如果你知道你想要的行号,你可以通过一个字符串数组来访问它 public class JTALineNum extends JFrame{ JTex
getSelectedText()应该会给您这个提示。为什么不将这些行拆分为令牌呢。然后,如果你知道你想要的行号,你可以通过一个字符串数组来访问它
public class JTALineNum extends JFrame{
JTextArea jta = null;
JButton button = null;
public JTALineNum(){
jta = new JTextArea();
button = new JButton("Hit Me");
button.addActionListener(new ButtonListener());
add(jta, BorderLayout.CENTER);
add(button, BorderLayout.SOUTH);
setSize(200,200);
setVisible(true);
}
private class ButtonListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
String text = jta.getText();
String[] tokens = text.split("\n");
for(String i : tokens){
System.out.println("Token:: " + i);
}
}
}
public static void main(String args[]){
JTALineNum app = new JTALineNum();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
您接受的解决方案不是很有效。+1表示直接从JTextArea API获取的更有效的解决方案。