我正在学习线程并且我遇到了问题。我试图制作2帧,一个是主框架,另一个在点击按钮后会显示。我想在新帧运行时停止主框架。你能帮我一个非常简单的例子吗? (并且在点击按钮后也将关闭新框架)。只需2帧,每个按钮就足够了。非常感谢!
答案 0 :(得分:4)
您应该避免the use of multiple JFrame
s,而是使用模态dialogs。 JOptionPane
提供了大量优质,简单和优质的服务。灵活的方法。
这是一个例子。单击该按钮后,对话框将显示在JFrame
的顶部。主JFrame
不再可以点击,因为JOptionPane.showMessageDialog()
会产生modal window。
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Example {
public Example() {
JFrame frame = new JFrame();
JButton button = new JButton("Click me");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(frame, "I'm a dialog!");
}
});
frame.getContentPane().setLayout(new FlowLayout());
frame.getContentPane().add(button);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new Example();
}
});
}
}
<强>输出:强>