Java源码示例:com.badlogic.gdx.scenes.scene2d.ui.List

示例1
private List<String> createTestList (final int engineIndex) {
	// Create test names
	int numTests = tests[engineIndex].length;
	String[] testNames = new String[numTests];
	for (int i = 0; i < numTests; i++) {
		testNames[i] = tests[engineIndex][i].testName;
	}

	final List<String> testList = new List<String>(skin);
	testList.setItems(testNames);
	testList.addListener(new ClickListener() {
		@Override
		public void clicked (InputEvent event, float x, float y) {
			if (!testSelectionWindow.isCollapsed() && getTapCount() == 2) {
				changeTest(engineIndex, testList.getSelectedIndex());
				testSelectionWindow.collapse();
			}
		}
	});
	return testList;
}
 
示例2
private List<String> createTestList () {
	// Create behavior names
	int numTests = tests.length;
	String[] testNames = new String[numTests];
	for (int i = 0; i < numTests; i++) {
		testNames[i] = tests[i].getName();
	}

	final List<String> testList = new List<String>(skin);
	testList.setItems(testNames);
	testList.addListener(new ClickListener() {
		@Override
		public void clicked (InputEvent event, float x, float y) {
			changeTest(testList.getSelectedIndex());
		}
	});
	return testList;
}
 
示例3
private List<String> createTestList () {
	// Create behavior names
	int numBehaviors = tests.length;
	String[] algorithmNames = new String[numBehaviors];
	for (int i = 0; i < numBehaviors; i++) {
		algorithmNames[i] = tests[i].testName;
	}

	final List<String> algorithmList = new List<String>(skin);
	algorithmList.setItems(algorithmNames);
	algorithmList.addListener(new ClickListener() {
		@Override
		public void clicked (InputEvent event, float x, float y) {
			if (!algorithmSelectionWindow.isCollapsed() && getTapCount() == 2) {
				changeTest(algorithmList.getSelectedIndex());
				algorithmSelectionWindow.collapse();
			}
		}
	});
	return algorithmList;
}
 
示例4
protected CollapsableWindow addBehaviorSelectionWindow (String title, List<String> testList, float x, float y) {

		CollapsableWindow window = new CollapsableWindow(title, skin);
		window.row();

		ScrollPane pane = new ScrollPane(testList, skin);
		pane.setFadeScrollBars(false);
		pane.setScrollX(0);
		pane.setScrollY(0);

		window.add(pane);
		window.pack();
		window.pack();
		if (window.getHeight() > stage.getHeight()) {
			window.setHeight(stage.getHeight());
		}
		window.setX(x < 0 ? stage.getWidth() - (window.getWidth() - (x + 1)) : x);
		window.setY(y < 0 ? stage.getHeight() - (window.getHeight() - (y + 1)) : y);
		window.layout();
		window.collapse();
		stage.addActor(window);

		return window;
	}
 
示例5
private List<String> createTestList () {
	// Create behavior names
	int numTests = tests.length;
	String[] testNames = new String[numTests];
	for (int i = 0; i < numTests; i++) {
		testNames[i] = tests[i].testName;
	}

	final List<String> testList = new List<String>(skin);
	testList.setItems(testNames);
	testList.addListener(new ClickListener() {
		@Override
		public void clicked (InputEvent event, float x, float y) {
			if (!testSelectionWindow.isCollapsed() && getTapCount() == 2) {
				changeTest(testList.getSelectedIndex());
				testSelectionWindow.collapse();
			}
		}
	});
	return testList;
}
 
示例6
protected CollapsableWindow addTestSelectionWindow (String title, List<String> testList, float x, float y) {
	CollapsableWindow window = new CollapsableWindow(title, skin);
	window.row();

	ScrollPane pane = new ScrollPane(testList, skin);
	pane.setFadeScrollBars(false);
	pane.setScrollX(0);
	pane.setScrollY(0);

	window.add(pane);
	window.pack();
	window.pack();
	if (window.getHeight() > stage.getHeight()) {
		window.setHeight(stage.getHeight());
	}
	window.setX(x < 0 ? stage.getWidth() - (window.getWidth() - (x + 1)) : x);
	window.setY(y < 0 ? stage.getHeight() - (window.getHeight() - (y + 1)) : y);
	window.layout();
	window.collapse();
	stage.addActor(window);

	return window;
}
 
示例7
private Table scanSavedDecks(final CardshifterGame game, final List<String> savedDecks, String modName) {
    if (Gdx.files.isExternalStorageAvailable()) {
        Table saveTable = new Table();
        external = Gdx.files.external("Cardshifter/decks/" + modName + "/");
        external.mkdirs();

        if (!external.exists()) {
            Gdx.app.log("Files", external.path() + " does not exist.");
            return null;
        }

        updateSavedDeckList();

        saveTable.add(savedDecks).colspan(2).fill().row();
        return saveTable;
    }
    return null;
}
 
示例8
public static List<String> newListBox (String[] items, ChangeListener listener) {
	List<String> list = new List<String>(Art.scrSkin);
	if (listener != null) {
		list.addListener(listener);
	}

	list.setItems(items);
	return list;
}
 
示例9
/**
 * @param scrollPane widget will be scrolled
 * @param list must be child of scrollPane
 */
public static void scrollDownToSelectedListItem(ScrollPane scrollPane, List list) {
    if (list.getSelectedIndex() == -1) return;

    float y = list.getHeight() - (list.getSelectedIndex() * list.getItemHeight()) - list.getItemHeight();
    float height = list.getItemHeight();

    scrollPane.scrollTo(0, y, 0, height);
}
 
示例10
private CollapsableWindow addTestSelectionWindow (String title, String[] tabTitles, Array<List<String>> tabLists,
	float x, float y) {
	if (tabTitles.length != tabLists.size)
		throw new IllegalArgumentException("tabTitles and tabList must have the same size.");
	CollapsableWindow window = new CollapsableWindow(title, skin);
	window.row();
	TabbedPane tabbedPane = new TabbedPane(skin);
	for (int i = 0; i < tabLists.size; i++) {
		ScrollPane pane = new ScrollPane(tabLists.get(i), skin);
		pane.setFadeScrollBars(false);
		pane.setScrollX(0);
		pane.setScrollY(0);

		tabbedPane.addTab(" " + tabTitles[i] + " ", pane);
	}
	window.add(tabbedPane);
	window.pack();
	window.pack();
	if (window.getHeight() > stage.getHeight()) {
		window.setHeight(stage.getHeight());
	}
	window.setX(x < 0 ? stage.getWidth() - (window.getWidth() - (x + 1)) : x);
	window.setY(y < 0 ? stage.getHeight() - (window.getHeight() - (y + 1)) : y);
	window.layout();
	window.collapse();
	stage.addActor(window);

	return window;
}
 
示例11
public MainScreen() {
	Gdx.gl.glClearColor(.3f, .3f, .3f, 1);

	skin = new Skin(Gdx.files.internal("data/uiskin.json"));

	stage = new Stage(new ScreenViewport());
	stage.setDebugAll(DEBUG_STAGE);

	// Create split pane
	List<String> testList = createTestList();
	ScrollPane leftScrollPane = new ScrollPane(testList, skin);
	splitPane = new SplitPane(leftScrollPane, null, false, skin, "default-horizontal");
	splitPane.setSplitAmount(Math.min((testList.getPrefWidth() + 10) / stage.getWidth(), splitPane.getSplitAmount()));

	// Create layout
	Table t = new Table(skin);
	t.setFillParent(true);
	t.add(splitPane).colspan(3).grow();
	t.row();
	t.add(pauseButton = new PauseButton(skin)).width(90).left();
	t.add(new FpsLabel("FPS: ", skin)).left();
	t.add(testDescriptionLabel = new Label("", skin)).left();
	stage.addActor(t);

	// Set selected test
	changeTest(0);
}
 
示例12
@Override
public void create () {
	Gdx.gl.glClearColor(.3f, .3f, .3f, 1);

	skin = new Skin(Gdx.files.internal("data/uiskin.json"));

	// Enable color markup
	BitmapFont font = skin.get("default-font", BitmapFont.class);
	font.getData().markupEnabled = true;

	stage = new Stage();
	stage.setDebugAll(DEBUG_STAGE);
	stageWidth = stage.getWidth();
	stageHeight = stage.getHeight();

	Gdx.input.setInputProcessor(new InputMultiplexer(stage));

	Stack stack = new Stack();
	stage.addActor(stack);
	stack.setSize(stageWidth, stageHeight);
	testsTable = new Table();
	stack.add(testsTable);

	// Create behavior selection window
	List<String> testList = createTestList();
	algorithmSelectionWindow = addBehaviorSelectionWindow("Path Finder Tests", testList, 0, -1);

	// Set selected test
	changeTest(0);

	stage.addActor(new FpsLabel("FPS: ", skin));
}
 
示例13
@Override
public void create () {
	Gdx.gl.glClearColor(.3f, .3f, .3f, 1);

	skin = new Skin(Gdx.files.internal("data/uiskin.json"));

	stage = new Stage();
	stage.setDebugAll(DEBUG_STAGE);
	stageWidth = stage.getWidth();
	stageHeight = stage.getHeight();

	Gdx.input.setInputProcessor(stage);

	// Add translucent panel (it's only visible when AI is paused)
	final Image translucentPanel = new Image(skin, "translucent");
	translucentPanel.setSize(stageWidth, stageHeight);
	translucentPanel.setVisible(false);
	stage.addActor(translucentPanel);

	// Create test selection window
	List<String> testList = createTestList();
	testSelectionWindow = addTestSelectionWindow("Tests", testList, 0, -1);

	// Create status bar
	Table statusBar = new Table(skin);
	statusBar.left().bottom();
	statusBar.row().height(26);
	statusBar.add(pauseButton = new PauseButton(translucentPanel, skin)).width(90).left();
	statusBar.add(new FpsLabel("FPS: ", skin)).padLeft(15);
	statusBar.add(testDescriptionLabel = new Label("", skin)).padLeft(15);
	stage.addActor(statusBar);

	// Set selected behavior
	changeTest(0);
}
 
示例14
private void updateSavedDeckList() {
    java.util.List<String> list = new ArrayList<String>();
    for (FileHandle handle : external.list()) {
        if (!handle.isDirectory()) {
            list.add(handle.nameWithoutExtension());
        }
    }
    savedDecks.setItems(list.toArray(new String[list.size()]));
}
 
示例15
public static List<String> newListBox (String[] items) {
	return newListBox(items, null);
}
 
示例16
public List<T> getList() {
	return list;
}
 
示例17
/** Returns the list shown when the select box is open. */
public List<T> getList() {
	return selectBoxList.list;
}
 
示例18
private void updateTrackList(List<Track> trackList, final MusicState state) {
    trackList.getItems().clear();
    trackList.setItems(state.getTracks());
    trackList.getItems().sort(comparator);
}
 
示例19
private void enableDisable(List<Track> trackList, Button add, Button remove){
    add.setDisabled(state == null);
    remove.setDisabled(trackList.getSelected() == null || trackList.getItems().size == 0);
}
 
示例20
@Override
public void create () {
	Gdx.gl.glClearColor(.3f, .3f, .3f, 1);

	greenFish = new TextureRegion(new Texture("data/green_fish.png"));
	cloud = new TextureRegion(new Texture("data/particle-cloud.png"));
	badlogicSmall = new TextureRegion(new Texture("data/badlogicsmall.jpg"));
	target = new TextureRegion(new Texture("data/target.png"));

	skin = new Skin(Gdx.files.internal("data/uiskin.json"));

	stage = new Stage();
	stage.setDebugAll(DEBUG_STAGE);
	stageWidth = stage.getWidth();
	stageHeight = stage.getHeight();

	Gdx.input.setInputProcessor(new InputMultiplexer(stage));

	// Add translucent panel (it's only visible when AI is paused)
	final Image translucentPanel = new Image(skin, "translucent");
	translucentPanel.setSize(stageWidth, stageHeight);
	translucentPanel.setVisible(false);
	stage.addActor(translucentPanel);

	// Create test selection window
	Array<List<String>> engineTests = new Array<List<String>>();
	for (int k = 0; k < tests.length; k++) {
		engineTests.add(createTestList(k));
	}
	testSelectionWindow = addTestSelectionWindow("Behaviors", ENGINES, engineTests, 0, -1);

	// Create status bar
	Table statusBar = new Table(skin);
	statusBar.left().bottom();
	statusBar.row().height(26);
	statusBar.add(pauseButton = new PauseButton(translucentPanel, skin)).width(90).left();
	statusBar.add(new FpsLabel("FPS: ", skin)).padLeft(15);
	statusBar.add(testHelpLabel = new Label("", skin)).padLeft(15);
	stage.addActor(statusBar);

	// Set selected behavior
	changeTest(0, 0);
}