【问题标题】:Compute input from JTextPane从 JTextPane 计算输入
【发布时间】:2018-12-11 09:59:04
【问题描述】:

我似乎没有找到任何关于如何使用来自 JTextPane 的输入的好资源。我基本上想要实现的是:我有 3 个 JTextPanes,3 个与它们对齐的按钮。当我按下按钮“a”时,我想从 TextPane 'b' 和 TextPane 'c' 中读取数据。我已经为该操作创建了一个类,因此我只需要调用该类的构造函数并为我完成这项工作。我知道这是一个低级的问题,但请考虑一下我刚刚开始研究 Swing。 所以,这是我为从 TextPanes 读取输入而创建的类:

public class InputReader extends AbstractAction{

private JTextPane componentToReadA;
private JTextPane componentToReadB;

public InputReader(JTextPane a, JTextPane b) {
    componentToReadA = a;
    componentToReadB = b;

}

@Override
public void actionPerformed(ActionEvent event) {
    componentToReadA.getText();
    componentToReadB.getText();
}

现在,我知道 getText 以字符串形式读取数据,但我想我可以通过 parseDouble(); 将其转换为 double

【问题讨论】:

  • 您的问题是什么?如何将字符串转换为双精度?
  • 不,我的问题是如何使程序使用输入到文本窗格中的值。
  • 不知道,你应该如何编程。请提供minimal reproducible example,以证明您的问题。
  • 好的。所以这个想法是在 GUI 上计算毕达哥拉斯。屏幕上有 3 个按钮,它们下方有 3 个文本窗格。一旦您按下其中一个按钮(它们本身代表三角形的一侧),您就可以在文本窗格中输入数字,除了您要计算的那个,然后程序执行计算并在弹出窗口中为您提供结果。我有 1 个将按钮设置为禁用的类,上面突出显示的类是读取插入到文本窗格中的数据的类。我也上传了一张图片到我原来的评论中。
  • 1) 您应该使用JFormattedTextField 而不是JTextPane。 2)我还是不明白你的问题是什么。 3) 您的minimal reproducible example 仍然丢失。

标签: java swing jbutton jtextpane jcomponent


【解决方案1】:
componentToReadA.getText();

您不会对 ActionListener 中的文本做任何事情。如果要使用文本,则需要将文本分配给变量。

你需要这样的东西:

int valueA = Integer.parseInt( componentToReadA.getText().trim() );
System.out.println( valueA );

所以知道你有一个整数值来进行毕达哥拉斯计算。

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2021-11-21
    • 2014-04-27
    相关资源
    最近更新 更多