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);
}