java - 比较 JTextArea 中的行
问题描述
我正在做一个项目,我在该项目中创建了一个类似在线商店的应用程序。除了最后一件事之外,一切都在工作,这是阅读整个篮子(添加到篮子的项目)
我有一个将项目添加到订单的按钮(它们显示在 jtextarea 中)。我有另一个按钮可以完成购物,并且应该打印您添加到 jtextarea 的项目。不幸的是,我只能弄清楚如何阅读 jtextarea 中的最后一行。所以基本上会发生什么:
客户订单 x,金额 1
客户订单 y,金额 3
客户订单 z,金额 7
它只会打印最后一行。有什么建议吗?这是代码
btnFinish.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int end = textArea.getDocument().getLength();
int start = 0;
try {
start = Utilities.getRowStart(textArea, end);
} catch (BadLocationException e1) {
e1.printStackTrace();
}
while (start == end)
{
end--;
try {
start = Utilities.getRowStart(textArea, end);
} catch (BadLocationException e1) {
e1.printStackTrace();
}
}
String text = null;
try {
text = textArea.getText(start, end - start);
} catch (BadLocationException e1) {
e1.printStackTrace();
}
System.out.println("(" + text + ")"); ```
解决方案
推荐阅读
- javascript - javascript this 关键字规则
- java - 跟踪具有特定属性的对象的优化方法的建议
- python - 由于 pyparsing 导致谷歌云平台应用部署失败
- kubernetes - Kubernetes:在 pod 中创建永久文件夹
- ietf-netmod-yang - 在 IOS-XE 上使用 Netconf-Yang 的错误参数和连接错误
- python - Pandas 列是 groupby 的列表聚合
- spring - 为 Spring Boot 应用程序中的特定 bean 提供不同的活动配置文件而不是默认配置文件
- python - 给出了空的训练数据。您需要多个样本来学习模型。在函数'cv::face::LBP
- cuda - CUDA inline PTX ld.shared 遇到 cudaErrorIllegalAddress 错误
- flutter - 在构建期间调用的提供程序 setState() 或 markNeedsBuild()。扑