2
下の図のようにタイトルラベルの終わりにTextAreaの編集を開始します。ライニングを表示します。表示テキストはラベルで、テキストエリアのテキストではありません。事前にJavaFxのTextAreaの最初の行にのみスペース/パディングを適用
おかげで...
下の図のようにタイトルラベルの終わりにTextAreaの編集を開始します。ライニングを表示します。表示テキストはラベルで、テキストエリアのテキストではありません。事前にJavaFxのTextAreaの最初の行にのみスペース/パディングを適用
おかげで...
あなたはパッド入りのテキストを編集しなくなりますのTextAreaの専門実装を有することができます。
例:
public class FirstLinePaddedTextAread extends javafx.scene.control.TextArea {
private int offset;
public FirstLinePaddedTextAread(String padded) {
this.offset = padded.length();
this.setText(padded);
this.positionCaret(offset);
this.setOnKeyPressed(event -> consumeIfCaretIsOnReadOnlyArea(event));
this.setOnKeyTyped(event -> consumeIfCaretIsOnReadOnlyArea(event));
this.setOnKeyReleased(event -> consumeIfCaretIsOnReadOnlyArea(event));
}
private void consumeIfCaretIsOnReadOnlyArea(javafx.scene.input.KeyEvent event) {
if (getCaretPosition() < offset) {
if (!event.getCode().isNavigationKey())
event.consume();
} else if (getCaretPosition() == offset) {
if (event.getCode() == javafx.scene.input.KeyCode.DELETE
|| event.getCode() == javafx.scene.input.KeyCode.BACK_SPACE) {
event.consume();
}
}
}
}
ありがとうskadyaそれは私のために働いています。私はテキスト領域のスクロールバーを無効にする別の問題があります。 – CTN
タイトルテキストがTextAreaの上方に配置されたラベルのいずれかであり、または[promptText(http://docs.oracle.com/javase/8/javafx/api/javafx/べきシーン/コントロール/ TextInputControl.html#プロンプトテキストプロパティ - )。ラインに関しては、私はそれが可能であるとは思わない。 – VGR
質問の行部分は:[notepad JavaFXのようなテキスト領域を作る](http://stackoverflow.com/questions/29636578/make-text-area-like-notepad-javafx)で答えられます。質問ごとに1つの質問をすることが常にベストです(たとえば、タイトル文字列を処理する方法については1つの質問、テキスト領域に行を表示する方法については別の質問など)。 – jewelsea
@VGRラベルです。 – CTN