我有一个简单的自定义日志框架,如下所示:
package something;
import javafx.scene.control.TextArea;
public class MyLogger {
public final TextArea textArea;
private boolean verboseMode = false;
private boolean debugMode = false;
public MyLogger(final TextArea textArea) {
this.textArea = textArea;
}
public MyLogger setVerboseMode(boolean value) {
verboseMode = value;
return this;
}
public MyLogger setDebugMode(boolean value) {
debugMode = value;
return this;
}
public boolean writeMessage(String msg) {
textArea.appendText(msg);
return true;
}
public boolean logMessage(String msg) {
return writeMessage(msg + "\n");
}
public boolean logWarning(String msg) {
return writeMessage("Warning: …Run Code Online (Sandbox Code Playgroud) 我有一个简单的JavaFX应用程序,允许用户查询数据库并查看表中的数据.
我想让用户能够单击一个表格单元格并使用标准剪贴板键击将该单元格中的文本复制到剪贴板:适用于Win/Linux的ctrl-c或适用于Mac的cmd-c.仅供参考,文本输入控件默认支持基本复制/粘贴.
我正在使用标准的javafx.scene.control.TableView类.有没有一种简单的方法来启用单元格复制?我做了一些搜索,我看到其他人创建自定义菜单命令...我不想创建自定义菜单,我只想要基本的键盘复制来处理单个单元格.
我正在使用单一选择模式,但如果需要,我可以更改为其他内容:
TableView<Document> tableView = new TableView<Document>();
tableView.getSelectionModel().setCellSelectionEnabled(true);
tableView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
Run Code Online (Sandbox Code Playgroud) 有没有在JavaFx8中选择Label文本?我知道,还有其他一些简单的解决方法,比如使用TextField.但是我的标签需要包含TextField不提供的包装工具的多行文本.如果我使用TextArea,问题是我不能像Text一样根据文本的大小缩小TextArea.所以我不能使用其中任何一个.
我对标签文本的使用如下:
<VBox>
<Label wrapText="true"
VBox.vgrow="ALWAYS"
maxHeight="Infinity" minHeight="-Infinity"
text="Some Random Subject Line With Very Large Text To Test The Wrap Text, Lorem Ipsum Dolor"/>
</VBox>
Run Code Online (Sandbox Code Playgroud)
根据VBox宽度,Label的高度会调整大小以完全适合文本.我不能使用TextArea或TextField来模拟这种行为.但我需要能够从Label中选择文本.有任何想法吗?
所以仍然有点弄清楚JavaFX,我能够禁用在文本框中输入文本,但我不确定如何在右键单击时阻止上下文菜单出现.是否有人知道如何防止右键单击时弹出默认上下文菜单?`
//CombatFeedback is scrollable textbox to update user on what's happening.
TextArea CombatFeedback= new TextArea("Text.");
CombatFeedback.setPrefColumnCount(20);
CombatFeedback.setPrefRowCount(5);
CombatFeedback.setWrapText(true);
CombatFeedback.setStyle("-fx-font: 20 arial");
CombatFeedback.setEditable(false);
ScrollPane scrollerCombat = new ScrollPane(CombatFeedback);`
Run Code Online (Sandbox Code Playgroud)