public OptionScreen(Anvil anvil) { super(anvil); Skin skin = new Skin(Gdx.files.internal(Systems.Skin)); back = new Texture(Gdx.files.internal(Locale.SYSTEM_UI_PATH + "marble.png")); background = new Image(back); FreeTypeFontGenerator gen = new FreeTypeFontGenerator(Gdx.files.internal(Locale.FONT_BASE + "Canted Comic.ttf")); FreeTypeFontParameter par = new FreeTypeFontParameter(); par.size = 20; par.borderColor = Color.BLACK; par.color = Color.WHITE; par.borderWidth = 2; BitmapFont font = gen.generateFont(par); LabelStyle ls = new LabelStyle(); ls.font = font; CheckBox vsync = new CheckBox("VSync", skin); vsync.setChecked(getBool("Graphics", "useVsync")); vsync.addListener( new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { bVsync = vsync.isChecked(); vsync.setChecked(vsync.isChecked() ? false : true); } }); Separator sep = new Separator(); CheckBox controller = new CheckBox("Use Controller", skin); controller.setChecked(getBool("Controls", "useController")); controller.addListener( new ClickListener() { public void clicked(InputEvent event, float x, float y) {} }); TextButton okay = new TextButton("Apply", skin); okay.addListener( new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { save(); anvil.setScreen(new MenuScreen(anvil)); } }); Table opt = new Table(skin); opt.setFillParent(true); opt.setBackground(background.getDrawable()); opt.add(new Label("Graphics", ls)).row(); opt.add(sep); opt.add(vsync).row(); opt.add().row(); opt.add().row(); opt.add().row(); opt.add(okay).align(Align.bottomLeft); stage.addActor(opt); Gdx.input.setInputProcessor(stage); }