質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

1回答

1558閲覧

JavaFX Java TextField DatePicker等について

nikkucc

総合スコア14

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

0クリップ

投稿2019/06/13 07:54

前提・実現したいこと

Javaに触れて一か月のため、色々至らないことがあると思います。
JavaFXを利用し、システムを作っています。
複数困ったことがあり、質問させていただきます。

前提として、Mainクラスに複数のボタンを配置し、ボタンを押下することによって他のウィンドウが表示されるというシステムになっております。

一つ目に現在、テキストフィールド(TextField)について、いくつか困っております。
まず、文字数の制限について。文字数を五文字に制限したいと考えております。
調べつくしたのですが、どれも一つのクラスで完結するものでした。私はMainクラスにstageを作って、Formというクラスで処理を書いております。FormにTextFieldやボタン等を配置しております。
Mainクラスにて、文字数制限の定義をすると思うのですが、継承?コンストラクタ?引数?どうしたらよいのか全く分かりません。

二つ目に、データピッカー(DatePicker)についてです。
一つ目と似たような処理かもしれませんが、よろしくお願い致します。
データベースからデータを取得し、テーブルビュー(TableView)に表示するというものを作ったのですが、日付を範囲指定できるようにしたいと思いました。データピッカーを二つ用意し、範囲指定はできるようになりました。次は、開始日よりも前を終了日に設定できないように制限したいです。

3つ目にテーブルビュー(TableView)についてです。
テーブルビューを全件取得するようなプログラムは存在しますか?選択された行を取得はできましたが、全件取得ができません。
読みづらく、多くの質問で申し訳ありませんがよろしくお願い致します。

該当のソースコード

public class MainController{ @FXML private Button button1; @FXML void ButtonClick1(ActionEvent event) throws IOException { Stage stage1 = new Stage(); AnchorPane root1 = (AnchorPane)FXMLLoader.load(getClass().getResource("Form.fxml")); Scene scene1 = new Scene(root1,600,300); scene1.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); stage1.setScene(scene1); stage1.show(); FormController form = new FormController(); } // public class FormController { @FXML private ResourceBundle resources; @FXML private URL location; //button1 = 登録 @FXML private Button button1; //button2 = 更新 @FXML private Button button2; //button3 = 削除 @FXML private Button button3; //button4 = 取消 @FXML private Button button4; //button5 = 参照 @FXML private Button button5; @FXML private Button button6; @FXML private TextField TextField2; @FXML TextField TextField1; @FXML void text1(ActionEvent event) { }

試したこと

インターネットに記載されている方法は出来るだけ試しました。。
全く、javaの知識がないので間違えて入力している可能性はあります。
一日(8時間)悩んだのですが、解決できませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

TableViewの全件取得(CSVに出力)は自己解決することができました。

FileWriter f = new FileWriter("パス,ファイル名", false); PrintWriter p = new PrintWriter(new BufferedWriter(f)); p.print("商品コード,商品名,在庫数"); p.println(); int i = 0; ZaikoTabl zaiko = new ZaikoTabl(); //行数取得 int i2 = layer.getItems().size(); //行数分ループ while(i<i2){ //0行目から取得 zaiko = layer.getItems().get(i); String s2 = zaiko.getScode(); String s3 =zaiko.getSname(); String s1 = zaiko.getNum(); p.print(s1+","+s2+","+s3); p.println(); i++; } p.close(); String ok = "完了"; JFrame frame = new JFrame(); frame.setBounds(10, 10, 300, 200); JOptionPane.showMessageDialog(frame, ok);

他のものはまだ解決できておりません。。。よろしくお願い致します。

投稿2019/06/14 01:02

nikkucc

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問