2
A
回答
2
- 您首先需要决定什么应该触发行删除。
- 是否应该增加一条新线,以便总线数不变。如果是这样,那么你应该写你的代码,以在添加新行的同一位置调用行删除代码。
- 或者它应该是恒定的速度 - 如果是这样,那么你会想要使用一个摆动计时器。
- 然后你需要决定删除哪一行。如果不是第一行,那么你需要弄清楚如何计算哪一行。
javax.swing.text.Utilities
类可以帮助您找到JTextArea中每行文本的开始和结束位置。
编辑
你问:
主要关注的是如何从JTextArea中删除它,我已经计算出具有行的开始和结束位置被删除。但是什么功能可以帮助删除那一行?
- 你会首先通过调用得到JTextArea中的文件,
getDocument()
- 然后,你可以对文件调用
remove(int offs, int length)
按照该Document API。
+0
主要关心的是如何从JTextArea中删除它,我已经计算了一行必须删除的开始和结束位置。但是什么函数可以帮助删除这一行? – user3473791
+0
@ user3473791:请参阅编辑以回答。 –
+0
非常感谢,我可以看到它在试验中被删除。现在我会试着用计时器和适当的GUI。再次感谢。 – user3473791
0
试试这个:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class SwingControlDemo {
String [] m;
int i=0;
String append="";
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
Timer t;
public SwingControlDemo(){
prepareGUI();
}
public static void main(String[] args){
SwingControlDemo swingControlDemo = new SwingControlDemo();
swingControlDemo.showTextAreaDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showTextAreaDemo(){
headerLabel.setText("Control in action: JTextArea");
JLabel commentlabel= new JLabel("Comments: ", JLabel.RIGHT);
final JTextArea commentTextArea =
new JTextArea("This is a Swing tutorial "
+"\n to make GUI application in Java."+"\n to make GUI application in Java"+"\n to make GUI application in Java",5,20);
JScrollPane scrollPane = new JScrollPane(commentTextArea);
JButton showButton = new JButton("Show");
showButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s=commentTextArea.getText();
m=s.split("\n");
t.start();
}
});
t=new Timer(1000,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
i++;
append="";
if(i<=m.length)
{
for(int j=i;j<m.length;j++)
{
append=append+m[j];
}
commentTextArea.setText(append);
}
else
{
t.stop();
}
}});
controlPanel.add(commentlabel);
controlPanel.add(scrollPane);
controlPanel.add(showButton);
mainFrame.setVisible(true);
}
}
相关问题
- 1. 如何在Jtextarea中选择一条线?
- 2. 如何从JTextArea中删除Ascii代码?
- 3. 如何从JTextArea获取文本时删除断裂线
- 4. 如何删除jTextArea的第一行
- 5. 如何从条形图中删除条形轮廓线?
- 6. 如何删除中间的这条线?
- 7. 如何从条件中删除条件?
- 8. 删除JTextArea中的行
- 9. 如何从输入类型的颜色中删除线条
- 10. 可可:如何通过绘画从图像中删除线条?
- 11. 如何从ggplot的图例中删除线条?
- 12. 如何从模型中删除奇怪的线条
- 13. 如何从ggplot2图例中删除线条美学?
- 14. 如何找到一个线串并删除整条生产线
- 15. 谷歌地图 - 如何删除线条
- 16. 一条线如何从画布中检测并在WPF中删除
- 17. 如何从UEFI中删除Ubuntu条目
- 18. 如何从ld.so.cache中删除条目?
- 19. 如何从IFrame中删除滚动条?
- 20. 如何从iframe中删除滚动条?
- 21. 如何从azure sql中删除条目?
- 22. 如何从Eclipse ColorRegistry中删除条目?
- 23. 如何从ArrayList中删除条目?
- 24. 如何从sip_regisration表中删除条目?
- 25. 如何从Sinatra中删除路线?
- 26. 如何从googlemap中删除多段线?
- 27. 如何从LineChart中删除线?
- 28. 如何从grid.yaxis中删除刻度线
- 29. 如何从图像中删除直线?
- 30. 如何从线程中删除背景
实现该发现的第一种方法“\ n”,从那个点清晰文本区休息,追加你刚刚得到的文本。 –