【发布时间】:2023-04-04 12:52:01
【问题描述】:
我有一个带有可扩展按钮数量(大约 20 多个)的 TabPane。 我希望在其左侧有一个区域来连接以前的文本和每个按钮所包含的新文本。
所以一开始,TextArea(也许不是最好用的)是空白的。 然后按 Tab Foo,然后按其各自的按钮之一 Bar。 文本区域将填充 Bar - $10000000000000
我正在使用 StringBuilder。我是否需要让每个按钮向 StringBuilder 添加文本,然后设置 TextArea 以显示该文本?我觉得这会导致每个按钮的代码非常冗余。但是,我认为这是唯一的方法,因为 TextArea 只有在按下特定按钮时才能获取文本....
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextArea;
/**
* FXML Controller class
*
* @author David
*/
public class MainMenuController implements Initializable {
private StringBuilder fieldContent;
@FXML TextArea txtReceipt;
@FXML
void btnExample(ActionEvent event) {
fieldContent.append(btnExample.getText());
txtReceipt.setText(fieldContent.toString());
}
void btnExample2(ActionEvent event) {
fieldContent.append(btnExample.getText());;
txtReceipt.setText(fieldContent.toString());
}
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
fieldContent = new StringBuilder("");
}
}
【问题讨论】:
-
你能给我们看一个你的代码示例吗?
-
添加了代码。谢谢建议
-
顺便说一句:
TextArea有一个appendText方法...(如果您不需要StringBuilder来执行除了连接字符串之外的任何操作。)
标签: javafx