Main.java
Code:
public class Main
{
public Main()
{
try
{
Game game = new Game();
AppGameContainer container = new AppGameContainer( new ScalableGame( game, 1680, 1050, true ) );
container.setVSync(true);
container.setDisplayMode( 840, 525, false );
container.start();
}
catch( SlickException ex )
{
ex.printStackTrace();
}
}
public static void main( String[] args )
{
new Main();
}
}
Game.java
Code:
public class Game
extends StateBasedGame
{
public Game()
{
super( "Game" );
}
@Override
public void initStatesList( GameContainer arg0 ) throws SlickException
{
addState( new State() );
}
}
State.java
Code:
public class State
extends BasicGameState
{
private Page page;
private Thinlet thinlet;
public void init( Thinlet thinlet )
{
this.thinlet = thinlet;
}
@Override
public int getID()
{
return 1;
}
public void init( GameContainer container, StateBasedGame arg1 ) throws SlickException
{
Thingle.init( new SlickThinletFactory( container ) );
Thingle.setMethodInvoker( new LegacyMethodInvoker() );
try
{
page = new Page( "res/guitest.xml", this );
}
catch( ThingleException e )
{
e.printStackTrace();
}
page.setDrawDesktop( false );
page.enable();
}
public void render( GameContainer arg0, StateBasedGame arg1, Graphics arg2 ) throws SlickException
{
page.render();
}
public void update( GameContainer arg0, StateBasedGame arg1, int arg2 ) throws SlickException
{
}
}
guitest.xml
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<desktop init="init(thinlet)">
<dialog text="Find" icon="res/icon/search.gif" modal="true"
columns="4" top="4" left="4" bottom="4" right="4" gap="4"
closable="true">
<label text="Find what:" mnemonic="0" for="ch_what" />
<combobox name="ch_what" colspan="2" valign="center" />
<label text="Direction:" alignment="right" />
<checkbox name="rb_up" text="Up" mnemonic="0" group="direction" />
<checkbox name="cb_match" text="Match case" mnemonic="0" selected="true" />
<button name="b_cancel" text="Cancel" type="cancel" />
<label />
<checkbox name="rb_down" text="Down" mnemonic="0"
group="direction" selected="true" />
</dialog>
</desktop>