私はJavaプログラマーであり、JavaFxの初心者です。仮想キーボードを作成したいです。私はボタン、レイアウト、ステージ、シーンのすべてのようなものを作ることができます。私は同じJavaアプリケーションでテキストを書くことができるsetText()メソッドを使用することも知っていますが、質問はどのように私はコンピュータやプログラムを理解する必要があります(javafxまたはjava (つまり、setOnAction()で)クリックすると、別のJavaアプリケーション(例えば、メモ帳、ワードパッドなど)に文字を書き込む必要があります。どのようなクラスやインタフェースがあるのですか?それぞれ拡張したり実装したりする必要がありますか?私はインターネットを調査しましたが、役に立つものを見つけることができませんでした。ボタンをクリックすると別のJavaアプリケーションに文字を書くことはできますか?
-3
A
答えて
0
あなたはこのように行うことができますあなたのコントローラ内のすべてのボタンを設定している場合:
//I supposed you named you 'button_a' your
@FXML
Button button_a;
@Override
public void initialize(URL location, ResourceBundle resources) {
button_a.setOnAction(event->{
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter("file.txt")); //or new File("c:/users/.../.../file.txt");
writer.write(button_a.getText()); //will give the letter you write on the button : the letter of the keyboard
} catch (IOException e) {
System.err.println("IOError on write");
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
System.err.println("IOError on close");
e.printStackTrace();
}
}
}
});
}
簡単な方法がある可能性があり:あなたは確かに、コンテナ内のすべてのあなたのボタンを入れています、すべての要素を1つのコンテナに入れ(ボタンを入れたり、ループのたびにボタンであることを確認する必要があるため)、GridPaneの子(ボタン)を反復処理することができるので、GridPaneは良いでしょう。
@FXML
GridPane grid;
@Override
public void initialize(URL location, ResourceBundle resources) {
String fileName = "test.txt";
for(Node button : grid.getChildren()){
((Button)button).setOnAction(event->{
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(fileName)); //or new File("c:/users/.../.../file.txt");
writer.write(((Button)button).getText()); //will give the letter you write on the button : the letter of the keyboard
} catch (IOException e) {
System.err.println("IOError on write");
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
System.err.println("IOError on close");
e.printStackTrace();
}
}
}
});
}
}
希望します。
関連する問題
- 1. Linuxで別のアプリケーションのボタンをプログラムでクリックすることはできますか?
- 2. 複数のケースを書き直すことなく、switch文をjavaに書く方法はありますか?
- 3. WindowsアプリケーションにWord文書を添付することはできますか?
- 4. 文字列を辞書に置き換えることはできますか?
- 5. Firebird BLOBに大きな文字列を書くことは可能ですか?
- 6. 大文字を書くことができませんM
- 7. 特定の文字を別の文字に正しく置き換えることはできません
- 8. .toggleClassボタンをクリックすると、別のページにその効果を残すことができますか?
- 9. プログラムは別のファイルに何かを書くことができますか?
- 10. ボタンを別のボタンの上に重ねることはできますか?
- 11. ボタンをクリックしてサブビューを取り除くことはできますか?
- 12. より多くのボタンをクリックするとiOSのMOre ...ボタンの「テーブル」に戻ることができます
- 13. Javaソケット:オブジェクトと文字列を読み書きするには?
- 14. このクエリをActiveRecordに書くことはできますか?
- 15. Pythonで文字列を置き換えるときに辞書を渡すことはできますか?
- 16. OpenGrokで大文字と小文字を区別して検索することはできますか?
- 17. if文で1行のreturn文を書くことはできますか?
- 18. Subversion + TortoiseSVNをWindowsで大文字と小文字を区別させることはできますか?
- 19. 別のボタンをクリックするとボタンがフェードアウトになります
- 20. C#アプリケーションから別のアプリケーションのボタンをクリックしますか?
- 21. どのように私は大文字と小文字を区別することができます
- 22. ボタンをクリックすると、Javaスイングアプリケーション、ウィンドウを閉じて別のウィンドウを開く
- 23. 2つのボタンを同時にクリックすることはできますか?
- 24. 別のボタンをクリックしたときにボタンをスクロールしますか?
- 25. WinFormsボタンをクリックすると、GridViewでどのようにマンページを開くことができますか?
- 26. 文書内のJSONを美しくすることはできますか?
- 27. 大文字と小文字を区別しないファイルシステムから大文字小文字を区別するアプリケーションにJavaアプリケーションを移動
- 28. JMSセレクタを大文字小文字を区別しないようにすることはできますか?
- 29. Ormliteでは、大文字と小文字を区別しないクエリを書く
- 30. は、我々は、キューとAzureのWebjobsを書くことができますJAVA