Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使程序打开多个窗口?JAVA_Java_Swing_User Interface - Fatal编程技术网

如何使程序打开多个窗口?JAVA

如何使程序打开多个窗口?JAVA,java,swing,user-interface,Java,Swing,User Interface,我的程序从一个目录中获取文件,并开始对该文件进行一些处理。如果处理不好,程序会弹出另一个程序中构建的窗口 我的问题是,如果打开了一个窗口,并且程序想在一个额外的文件被添加到目录并被处理后再打开一个额外的窗口,那么它就无法做到这一点 我所写代码的最低版本: while (true) { file f = getnewfile(); if (f==new) { processing(); if (processing == ntgood) {

我的程序从一个目录中获取文件,并开始对该文件进行一些处理。如果处理不好,程序会弹出另一个程序中构建的窗口

我的问题是,如果打开了一个窗口,并且程序想在一个额外的文件被添加到目录并被处理后再打开一个额外的窗口,那么它就无法做到这一点

我所写代码的最低版本:

while (true) {
    file f = getnewfile();
    if (f==new) {
        processing();
        if (processing == ntgood) {
             window.setVisible(true);
        } else {
    }
}

您可以使用JOptionPane向用户显示一条小消息。然后,用户可以在空闲时关闭窗口

JOptionPane.showMessageDialog(null, "File X parsed");

您可以按如下方式打开多个窗口:

import java.awt.EventQueue;

import javax.swing.JFrame;

public class WindowOpener {

    private static final int WINDOW_COUNT = 5;

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                for (int i = 0; i < WINDOW_COUNT; i++) {
                    JFrame f = new JFrame();
                    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    f.setSize(150, 250);
                    f.setVisible(true);
                }
            }
        });
    }
}    
导入java.awt.EventQueue;
导入javax.swing.JFrame;
公共类开窗器{
私有静态最终整数窗口计数=5;
公共静态void main(字符串[]args){
invokeLater(新的Runnable(){
公开募捐{
对于(int i=0;i
您能否将问题改写为包含一个问题?目前这是一个声明。如果我理解你的问题,应用程序不会打开一个新窗口。它只打开一个?如果是这种情况,则只有一个窗口,并将可见性设置为true。如果需要多个窗口,则应该在循环中创建窗口。这是正确的问题kenneth。是的,我正在while-loop中创建窗口,但是如果之前的窗口仍然打开,它只打开一个窗口。显示的窗口是以前的窗口。不是两者都有,这是我的目标你能从window类发布一些代码吗?我很想看看用户看到了什么选项,以及你是如何工作的。有很多代码,但它只是一个文本字段,我用信息输入,按下一个按钮后,信息被写入MySQL数据库中的一个表中。也许我没有解释,但在窗口中有几个命令必须由管理员执行。这就是我不能使用MessageDialogGotchya的原因。窗户堵住了吗?它是否停止程序线程并等待用户输入?否,窗口未阻塞。该程序在外部运行良好。但是当2号窗口尝试打开时,它不会在新窗口中启动,但旧窗口会像新窗口一样“闪烁”。我尝试了eventQueue.invokelater,但没有成功