2016-06-27 2 views
0

Это окно загрузки открывается, и я хочу, чтобы он закрывался после запуска метода closeLoadingWindow. У меня есть кнопка, которая запускает метод closeLoadingWindow в другом классе. Любая помощь??Закрытие JFrame из другого метода

import java.awt.BorderLayout; 
import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 

public class LoadingScreen { 


    public static void createLoadingWindow() 
    { 
    JFrame LoadingFrame = new JFrame("Loading"); 
    LoadingFrame.setExtendedState(JFrame.MAXIMIZED_BOTH); 

    JPanel LoadingPanel = new JPanel(); 
    LoadingFrame.add(LoadingPanel, BorderLayout.NORTH); 

    ImageIcon LoadingGif = new ImageIcon(); 
    JLabel LoadingLabel = new JLabel(LoadingGif); 
    LoadingPanel.add(LoadingLabel); 
    LoadingFrame.setVisible(true); 
    } 

    public static void closeLoadingWindow() 
    { 
    dispose(); 
    } 
} 
+1

ты по должен вызывать 'dispose()' on frame. –

ответ

0

Может быть, если вы инициализируетесь погрузочный кадр, как так:

public class LoadingScreen{ 
    JFrame LoadingFrame; 
    public void createLoadingWindow(){ 
      LoadingFrame = new JFrame("Loading"); 
      ... 
    } 
    public void closeLoadingWindow(){ 
     LoadingFrame.dispose(); 
    } 
} 

Или можно передать кадр Загрузку кадра в качестве параметра в тесном LoadingWindow() метод:

public void closeLoadingWindow(JFrame LoadingFrame){ 
    LoadingFrame.dispose(); 
}