SpreadSheetの新機能はです。ControlsFx Api。 JavafxのSpreadsheetcell
のSpreadsheetView
を右クリックしてDialog
を開きます。どんな助けでも大歓迎です。JavaFxスプレッドシートセルを右クリックして開くダイアログ
答えて
これはどこに標準のContextMenuオフ可能なコードであるとDialog
で独自のハンドラを実装して、この例TextInputDialog
で:
SpreadsheetView spreadsheetView = new SpreadsheetView();
//off the standard ContextMenu
spreadsheetView.setContextMenu(null);
//set own handler for right click with Dialog
spreadsheetView.setOnContextMenuRequested(new EventHandler<ContextMenuEvent>() {
@Override public void handle(ContextMenuEvent event) {
CellView cellView = (CellView) event.getTarget();
TextInputDialog dialog = new TextInputDialog(cellView.getText());
Optional<String> result = dialog.showAndWait();
if (result.isPresent()){
System.out.println(cellView.getText());
}
}
});
私はこのライブラリを非常に良いかわからないが、それは良い作品。これは、マウスがクリックされたときにチェックし、テーブルビューの上にマウスハンドラを使用しており、クリックでそれがFXで新しい対話を発射
public class MainController extends Application {
public static void main(String[] args) {
launch(args);
}
@Override public void start(Stage primaryStage) throws Exception {
SpreadsheetView spreadsheetView = new SpreadsheetView();
//off the standard ContextMenu
spreadsheetView.setContextMenu(null);
//set own handler for right click with Dialog
spreadsheetView.setOnContextMenuRequested(new EventHandler<ContextMenuEvent>() {
@Override public void handle(ContextMenuEvent event) {
CellView cellView = (CellView) event.getTarget();
TextInputDialog dialog = new TextInputDialog(cellView.getText());
Optional<String> result = dialog.showAndWait();
if (result.isPresent()) {
System.out.println(cellView.getText());
}
}
});
HBox hBox = new HBox();
hBox.getChildren().add(spreadsheetView);
Scene scene = new Scene(hBox);
primaryStage.setScene(scene);
primaryStage.show();
}
}
あなたの努力に感謝しますが、何とか私のために働いていません、あなたはあなたのプログラム全体を貼り付けてください。 – DeepInJava
私のプログラムを追加しました – BadVegan
それは私のために今働いています。私のプロジェクトは当時は正しく構築されていませんでした。ごめんなさい! – DeepInJava
:
私のプログラム:どのように動作します 例入力を受け入れ、fxテーブル・ビューを更新します。
table.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if (event.getClickCount() == 1) {
Call dialogue method of java fx
}
}
});
それとも、右クリックしたい場合は、こんにちは
例:
FirstNameCol.setCellFactory(new Callback<TableColumn<Person, String>, TableCell<Person, String>>() {
@Override
public TableCell<Person, String> call(TableColumn<Person, String> col) {
final TableCell<Person, String> cell = new TableCell<>();
cell.textProperty().bind(cell.itemProperty()); // in general might need to subclass TableCell and override updateItem(...) here
cell.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if (event.getButton == MouseButton.SECONDARY) {
// handle right click on cell...
// access cell data with cell.getItem();
// access row data with (Person)cell.getTableRow().getItem();
}
}
});
return cell ;
}
});
- 1. 右クリックして左クリックタブを開く
- 2. ダイアログを開くには一度クリックしてください
- 3. JavaFX for Minesweeperの右クリック
- 4. ダイアログRecyclerビューで開くボタンをクリック
- 5. ListViewItemを右クリックしてコンテキストメニューを開く方法
- 6. JTableとCombobox。右クリックで開く
- 7. イメージをクリックしたらSave as ..ダイアログを開く方法?
- 8. JavaFXがボタンをクリックして新しいステージ(ウィンドウ)を開くのを防ぐ
- 9. jqueryを使用してクリックしたときにダイアログを開くには
- 10. Eclipse - 右クリックでシーンビルダが開始されず、シーンビルダで開く
- 11. ファイルを開くダイアログとプロジェクトを開くダイアログでショートカットをカスタマイズ
- 12. リストボックスからアイテムを右クリックしてWPFのメニューを開く方法
- 13. ペーパー入力をクリックすると紙のダイアログを開く
- 14. 「クリック」イベントでjQueryダイアログを開くことができません
- 15. カスタムJavaFXダイアログ
- 16. visjsのノード(コンテキストメニュー)の右クリックで拡張ポップアップ(htmlリスト)を開く
- 17. イメージを右クリックしてシミュレート
- 18. コンテキストメニューを右クリックして
- 19. スライドを使ってファイルを開くダイアログ
- 20. JTable(SWING)を左マウスでクリックして右クリックしてください
- 21. Html:右クリックしてではなく、クリックしてリンクをダウンロードする方法
- 22. Selenium IDEで右クリックしてコンテキストメニューを開きます
- 23. アイコンなしのJavaFXダイアログ
- 24. ctypesを使ってPythonを右クリックしてください
- 25. ダイアログでEclipseエディタを開く
- 26. プログラムでPowerPointを開くダイアログ
- 27. エレクトロン - フォルダを開くダイアログ
- 28. mdダイアログを開くテストコンポーネント
- 29. .NETファイルを開く]ダイアログ
- 30. ダイアログでJavaビューポートを開く
セルを作成することができ、あなたは直接右クリックした後、ダイアログを表示したいですか? – BadVegan
@BadVegan、はいセルを右クリックした直後にダイアログを表示したい。 – DeepInJava