package greenfoot.guifx;
import java.io.File;
import bluej.GuiHandler;
import bluej.Main;
import bluej.pkgmgr.Project;
import greenfoot.core.ProjectManager;
import javafx.stage.Stage;
import threadchecker.OnThread;
import threadchecker.Tag;
| A GUI handler for Greenfoot.
|
| @author Davin McCall
|
@OnThread(Tag.FXPlatform)
public class GreenfootGuiHandler
implements GuiHandler{
@Override
public boolean tryOpen(File path, boolean displayError)
{
Project project = Project.openProject(path.toString());
if (project != null) {
ProjectManager.instance().launchProject(project);
return true;
}
else
{
if (GreenfootStage.openArchive(path, null))
{
return true;
}
return false;
}
}
@Override
public void handleAbout()
{
GreenfootStage.aboutGreenfoot(null);
}
@Override
public void handlePreferences()
{
GreenfootStage.showPreferences();
}
@Override
public void handleQuit()
{
Main.wantToQuit();
}
@Override
public Stage initialOpenComplete(boolean projectOpen)
{
if (! projectOpen) {
GreenfootStage stage = GreenfootStage.makeStage(null, null);
stage.show();
return stage;
}
else
{
return GreenfootStage.getOpenStage();
}
}
@Override
public void doExitCleanup()
{
GreenfootStage.closeAll();
}
}
top,
use,
map,
class GreenfootGuiHandler
. tryOpen
. handleAbout
. handlePreferences
. handleQuit
. initialOpenComplete
. doExitCleanup
92 neLoCode
+ 2 LoComm