[英]Create new thread for a new JFrame
我正在学习线程,但遇到了问题。 我正在尝试制作2帧,其中一个是主框架,另一个将在单击按钮后显示。 我想在新框架运行时停止主框架。 你们能帮我举一个非常简单的例子吗? (新框也将在单击按钮后关闭)。 仅2帧,每个按钮都有一个按钮就足够了。 非常感激!
您应该避免使用多个JFrame
,而应使用模式对话框 。 JOptionPane
提供了很多好的,简单和灵活的方法来做到这一点。
这是一个例子。 当您单击按钮时,对话框将出现在JFrame
顶部。 由于JOptionPane.showMessageDialog()
生成一个模式窗口 ,因此不再可单击主JFrame
。
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();
}
});
}
}
输出:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.