This question already has an answer here:
How to wait for a JFrame to close before continuing?
(1个答案)
6年前关闭。
我正在制作一个带有数据库的服务器,但是在加载主JFrame时和在连接数据库时,我从.properties文件中读取用户名和密码,所以我选择让用户知道程序正在运行,程序在该特定时刻的操作,还让他创建一个.properties文件(如果该文件不存在)(首次启动)。
问题是我需要创建2个jframe,1个显示启动进度,1个仅在用户需要创建.properties文件时出现:问题是我必须在第一个运行时暂停第一个,并在第二个窗口关闭时重新开始运行,执行所有操作;我有两种方法,但没有用:首先,我尝试插入一个wait()调用以打开第二个JFrame并在其关闭时插入notify()调用;其次,我尝试使用线程,但是问题是我停止的线程在应有的时候没有启动……这是一些代码:
我想在进入“捕获”部分时暂停; “ this”是第一个JFrame,“ jFrame1”是第二个JFrame。
一些提示/技巧?
(1个答案)
6年前关闭。
我正在制作一个带有数据库的服务器,但是在加载主JFrame时和在连接数据库时,我从.properties文件中读取用户名和密码,所以我选择让用户知道程序正在运行,程序在该特定时刻的操作,还让他创建一个.properties文件(如果该文件不存在)(首次启动)。
问题是我需要创建2个jframe,1个显示启动进度,1个仅在用户需要创建.properties文件时出现:问题是我必须在第一个运行时暂停第一个,并在第二个窗口关闭时重新开始运行,执行所有操作;我有两种方法,但没有用:首先,我尝试插入一个wait()调用以打开第二个JFrame并在其关闭时插入notify()调用;其次,我尝试使用线程,但是问题是我停止的线程在应有的时候没有启动……这是一些代码:
jFrame1.setBounds(0,0,500,500);
this.setVisible(true);
jProgressBar2.setValue(0);
prop = new Properties();
jTextArea1.setText(jTextArea1.getText()+"Searching file config.properties... \n");
try {
FileReader fr = new FileReader("config.properties");
jProgressBar2.setValue(33);
jLabel3.setText("33");
jTextArea1.setText(jTextArea1.getText()+"File config.properties found... \n");
} catch (FileNotFoundException ex) {
jFrame1.setVisible(true);
jTextArea1.setText(jTextArea1.getText()+"File config.properties not found... \n");
}
我想在进入“捕获”部分时暂停; “ this”是第一个JFrame,“ jFrame1”是第二个JFrame。
一些提示/技巧?
最佳答案
解决方案:不要使用多个JFrame。使充当模式对话框的窗口不是第二个JFrame,而是真正的模式JDialog。
由于这个完全相同的问题一遍又一遍地被问到,我们可能应该将此问题作为重复来结束。