0

これについてどうすればよいのかよくわかりませんし、正しい方向を見ているとは思いません。

非常に多くのフィールドを含むスイング フォームがあり、ユーザーが [保存] ボタンを押したときに、これらのフィールドを 2 番目の Save クラスに保存したいと考えています。

Swing フォームの内容全体を保存クラスに渡す方法はありますか?

btnSave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            SaveMap.MapSave(???);
        }
    });

それで:

public class SaveMap {  
    public static boolean MapSave(???) {
      // save stuff
    }
}
4

1 に答える 1

3

簡単ではありません。また、保存しようとしているものによっても異なります。

差異コントロールは、異なるデータを提供します。

基本的に、フィールドの「名前」と、コントロール自体またはその値のいずれかを指定できる、ある種の「ビルダー」を作成します...

Savable savable = new SaveBuilder.add("userName", userNameField).add("password", passwordField);
SaveMap.MapSave(savable);

これには、必要な方法で必要な情報を抽出できるという利点があります...

また

Savable savable = new SaveBuilder.add("userName", userNameField.getText()).add("password", passwordField.getPassword());
SaveMap.MapSave(savable);

明らかに、SaveMapプロパティの名前と値を抽出できる必要があります。

于 2012-11-28T00:50:32.880 に答える