使い方?
- クラスMiWindowsは、クラスMiOtherWindowsの実行を担当します。
- MiOtherWindowsクラスは、ステータスを変更して閉じるユーザーと対話します。
- クラスMiWindowsは、クラスMiOtherWindowsの値の変更を検出します。
- クラスMiWindowsは変更を出力します。
何が問題ですか?MiWIndowsクラスは、子クラスMiOtherWindowsの変更を検出しません。
質問?
スレッドを使用せずに別のウィンドウを聞くことができるウィンドウを作成するにはどうすればよいですか?
// ------------------------------------------------ -------------------
//これがMiWindowsのコードです
public class MiWindows extends JDialog {
private JButton doing = new JButton("The Button");
public MiWindows(SeconWindows owner) {
doing.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Object value;
try {
value = new MiOtherWindows(MiWindows.this).getValue();
if (value != null) {
System.out.println("Never Print this...");
}
} catch (Exception x) {
System.out.println("exception");
}
}
});
}
}
// ------------------------------------------------ -------------------
//ここにMiOtherWindowsのコードがあります
public class MiOtherWindows extends JDialog {
private JButton close = new JButton("The Button");
private String value = null;
public MiOtherWindows(JDialog owner) {
super(owner);
//super(owner, true); modal don't work
close.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
this.value = "This is Result";
setVisible(false);
}
});
}
public String getValue() {
return value;
}
}