возможно ли переключить фокус между двумя модальными диалогами?То есть один диалог имеет фокус и является интерактивным, и я переключаю фокус / интерактивность на другой диалог.Вот мой пример кода:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new FlowLayout());
frame.add(panel);
frame.setVisible(true);
final JDialog dialog1 = new JDialog(frame, true);
dialog1.setContentPane(new JLabel("dialog 1"));
dialog1.pack();
dialog1.setLocationRelativeTo(frame);
new Thread(new Runnable() {
public void run() {
dialog1.setVisible(true);
}
}).start();
final JDialog dialog2 = new JDialog(frame, true);
JButton btn = new JButton("Test");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO
}
});
dialog2.setContentPane(btn);
dialog2.pack();
dialog2.setLocationRelativeTo(frame);
new Thread(new Runnable() {
public void run() {
dialog2.setVisible(true);
}
}).start();
}
Могу ли я поместить что-нибудь там, где TODO должен дать диалогу1 фокус?Я пробовал toFront
, setAlwaysOnTop(true)
и grabFocus
, и ни один из них не добился цели.Они выведут dialog1 вперед, но dialog2 по-прежнему является интерактивным.
Спасибо,
Дэвид