Java源码示例:org.newdawn.slick.gui.TextField

示例1
public OptionsOverlay(OptionTab[] sections)
{
	this.backButtonListener = BackButton.Listener.fromOverlay(this::exit);
	this.installedOptionListeners = new ArrayList<>();
	this.sections = sections;
	this.dirty = true;

	dropdownMenus = new HashMap<>();
	visibleDropdownMenus = new LinkedList<>();

	searchField = new TextField(null, 0, 0, 0, 0);
	searchField.setMaxLength(20);

	scrollHandler = new KineticScrolling();
	scrollHandler.setAllowOverScroll(true);
	
	displayContainer.addResolutionChangedListener(this);
	skinservice.addSkinChangedListener(this);
}
 
示例2
/**
 * @see org.newdawn.slick.Game#init(org.newdawn.slick.GameContainer)
 */
public void init(GameContainer container) throws SlickException {
	state = new SavedState("testdata");
	nameValue = state.getString("name","DefaultName");
	ageValue = (int) state.getNumber("age",64);
	
	name = new TextField(container,container.getDefaultFont(),100,100,300,20,this);
	age = new TextField(container,container.getDefaultFont(),100,150,201,20,this);
}
 
示例3
/**
 * Creates the options overlay.
 * @param container the game container
 * @param groups the option groups
 * @param listener the event listener
 */
public OptionsOverlay(GameContainer container, OptionGroup[] groups, OptionsOverlayListener listener) {
	super(container);
	this.container = container;
	this.groups = groups;
	this.listener = listener;

	this.input = container.getInput();
	this.containerWidth = container.getWidth();
	this.containerHeight = container.getHeight();

	// control images
	this.iconSize = (int) (18 * GameImage.getUIscale());
	this.sliderBallImg = GameImage.CONTROL_SLIDER_BALL.getImage().getScaledCopy(iconSize, iconSize);
	this.checkOnImg = GameImage.CONTROL_CHECK_ON.getImage().getScaledCopy(iconSize, iconSize);
	this.checkOffImg = GameImage.CONTROL_CHECK_OFF.getImage().getScaledCopy(iconSize, iconSize);
	int searchImgSize = (int) (Fonts.LARGE.getLineHeight() * 0.75f);
	this.searchImg = GameImage.SEARCH.getImage().getScaledCopy(searchImgSize, searchImgSize);

	boolean isWidescreen = (int) (container.getAspectRatio() * 1000) > 1500; // 1333 = 4:3, 1777 = 16:9

	// overlay positions
	this.x = 0;
	this.y = 0;
	this.targetWidth = (int) (containerWidth * (isWidescreen ? 0.4f : 0.5f));
	this.height = containerHeight;

	// option positions
	float navIconWidthRatio = isWidescreen ? 0.046875f : 0.065f; // non-widescreen ratio is not accurate
	navButtonSize = (int) (container.getWidth() * navIconWidthRatio);
	navIndicatorWidth = navButtonSize / 10;
	navTargetWidth = (int) (targetWidth * 0.45f) - navButtonSize;
	this.paddingRight = (int) (containerWidth * 0.009375f); // not so accurate
	this.paddingLeft = navButtonSize + (int) (containerWidth * 0.0180f); // not so accurate
	this.paddingTextLeft = paddingLeft + LINE_WIDTH + (int) (containerWidth * 0.00625f); // not so accurate
	this.optionStartX = paddingTextLeft;
	this.textOptionsY = Fonts.LARGE.getLineHeight() * 2;
	this.textChangeY = textOptionsY + Fonts.LARGE.getLineHeight();
	this.searchY = textChangeY + Fonts.MEDIUM.getLineHeight() * 2;
	this.textSearchYOffset = Fonts.MEDIUM.getLineHeight() / 2;
	this.optionStartY = searchY + Fonts.MEDIUM.getLineHeight() + Fonts.LARGE.getLineHeight();
	int paddingX = 24;
	this.optionWidth = targetWidth - paddingX * 2;
	this.optionHeight = (int) (Fonts.MEDIUM.getLineHeight() * 1.3f);
	this.optionGroupPadding = (int) (Fonts.LARGE.getLineHeight() * 1.5f);
	this.optionTextOffsetY = (int) ((optionHeight - Fonts.MEDIUM.getLineHeight()) / 2f);
	this.controlImageSize = (int) (Fonts.MEDIUM.getLineHeight() * 0.7f);
	this.controlImagePadding = (optionHeight - controlImageSize) / 2;

	// back button
	int backSize = Fonts.XLARGE.getLineHeight() * 2 / 3;
	Image backArrow = GameImage.CHEVRON_LEFT.getImage().getScaledCopy(backSize, backSize);
	this.backButton = new MenuButton(backArrow, 0, 0);
	backButton.setHoverExpand(1.5f);

	// restart button
	Image restartImg = GameImage.UPDATE.getImage().getScaledCopy(backSize, backSize);
	this.restartButton = new MenuButton(restartImg, 0, 0);
	restartButton.setHoverAnimationDuration(2000);
	restartButton.setHoverRotate(360);

	// search field
	this.searchField = new TextField(container, null, 0, 0, 0, 0);
	searchField.setMaxLength(20);

	// kinetic scrolling
	this.scrolling = new KineticScrolling();
	scrolling.setAllowOverScroll(true);

	// calculate offset for navigation bar icons
	int navTotalHeight = 0;
	for (OptionGroup group : groups) {
		if (group.getOptions() == null) {
			navTotalHeight += navButtonSize;
		}
	}
	navStartY = (height - navTotalHeight) / 2;
}
 
示例4
/**
 * Creates the user selection overlay.
 * @param container the game container
 * @param listener the event listener
 */
public UserSelectOverlay(GameContainer container, UserSelectOverlayListener listener) {
	super(container);
	this.listener = listener;

	this.input = container.getInput();
	this.containerWidth = container.getWidth();
	this.containerHeight = container.getHeight();

	// overlay positions
	this.x = containerWidth / 3;
	this.y = 0;
	this.width = containerWidth / 3;
	this.height = containerHeight;

	// user positions
	this.titleY = Fonts.LARGE.getLineHeight() * 2;
	this.usersStartX = (width - UserButton.getWidth()) / 2;
	this.usersStartY = (int) (titleY + Fonts.XLARGE.getLineHeight() * 1.5f);
	this.usersPaddingY = UserButton.getHeight() / 10;

	// new user
	this.newUser = new User("", UserList.DEFAULT_ICON);
	this.newUserButton = new UserButton(
		(int) (this.x + usersStartX),
		(int) (this.y + usersStartY + Fonts.MEDIUMBOLD.getLineHeight()),
		Color.white
	);
	newUserButton.setUser(newUser);
	newUserButton.setHoverAnimationDuration(400);
	newUserButton.setHoverAnimationEquation(AnimationEquation.LINEAR);

	// new user text field
	this.textField = new TextField(container, null, 0, 0, 0, 0);
	textField.setMaxLength(UserList.MAX_USER_NAME_LENGTH);

	// user icons
	this.userIcons = new MenuButton[UserButton.getIconCount()];
	for (int i = 0; i < userIcons.length; i++) {
		userIcons[i] = new MenuButton(UserButton.getIconImage(i), 0, 0);
		userIcons[i].setHoverFade(0.5f);
	}

	// edit user
	this.editUserButton = new UserButton(
		(int) (this.x + usersStartX),
		(int) (this.y + usersStartY),
		Color.white
	);

	// delete user
	deleteUserButton = new UserButton(
		(int) (this.x + usersStartX),
		(int) (this.y + usersStartY + UserButton.getHeight() + usersPaddingY),
		Colors.RED_HOVER
	);
	deleteUserButton.setHoverAnimationBase(0.5f);

	// kinetic scrolling
	this.scrolling = new KineticScrolling();
	scrolling.setAllowOverScroll(true);
}