ここから本文です

【Java】テキストファイルへの書き出しについての質問です。

non********さん

2015/9/1017:00:28

【Java】テキストファイルへの書き出しについての質問です。

現在、アプリケーションを開発している学生ですが、テキストデータへの書き出しについてやり方分からない部分があったので質問させて頂きます。
Java ですべての入力情報をテキストデータに保存したいのですが、それはどのようにやればよいのでしょうか?

現在はまだ制作途中でして、すぐに実行できるソースコードは持っていません。
ではなぜ、いま質問したかといいますと、実際どうやるかが調べてもわからなかったので、いずれ引っかかるであろう場所を理解しておきたいが故です。

では、難解になるのは承知の上で文章の方で説明させていただきます。

開発は、java Swing の JFrame を使っています。
CardLayout を使用して、Panel 毎にファイルを分けて作成しています。
各 Panel ごとにテキストボックスやチェックボックスを使って入力や選択を促し、最終的にこれらの情報をテキストデータとしてすべてテキストファイルに書き出したいのです。

汚いですが、やりたいことのイメージとしては画像のような感じになります。

また、サンプルコードや参考となるサイト等を載せて頂けると非常に助かります。

大変、拙い質問となってしまいましたが、どうかご教授の方よろしくお願いします。

CardLayout,java Swing,テキストデータ,書き出し,JFrame,InputData&gt,inputList

閲覧数:
109
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

mdw********さん

2015/9/1022:29:59

一例ですが以下のようなやり方もあります。

入力内容を文字列として返すインターフェースを用意します。

public interface InputData {
String getInputData();
}

カードレイアウトに張り付けるパネル毎にInputDataを実装したJPanelの
サブクラスを作成します。

import javax.swing.JPanel;
public class NameInputPanel extends JPanel implements InputData {
public NameInputPanel() {//コンストラクタ
//名前や性別を入力する画面を構築
}

@Override
public String getInputData() {
//テキストフィールドやラジオボタンから名前や性別を
//取得してテキストに出力する文字列を返す
return "名前: Duke\n性別: 男\n";
}

}

同様にJobPanelやFavoritePanelクラスも作成しインスタンスを
カードレイアウトに張り付けて、それをリストにaddして保持しておきます。

List<InputData> inputList = new ArrayList<>();

テキストを出力する際にはリストから順にInputDataを取り出して
そのgetInputDataメソッドで出力文字列を取得し連結します。

質問した人からのコメント

2015/9/11 20:47:02

大まかな流れは理解できました。
実装してみてまたどうなるかはわかりませんが、一つの手段が分かり現在は作れそうな気がしています!

ご回答ありがとうございました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる