All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.minimalj.frontend.impl.lanterna.toolkit.LanternaComboBox Maven / Gradle / Ivy

Go to download

A java framework aiming for a minimal programming style. Includes GUI and persistence layer.

There is a newer version: 2.5.0.0
Show newest version
package org.minimalj.frontend.impl.lanterna.toolkit;

import java.util.List;

import org.minimalj.frontend.Frontend.Input;
import org.minimalj.frontend.Frontend.InputComponentListener;
import org.minimalj.frontend.impl.lanterna.component.Select;

import com.googlecode.lanterna.input.Key;

public class LanternaComboBox extends Select implements Input {

	private final InputComponentListener changeListener;
	
	public LanternaComboBox(List objects, InputComponentListener changeListener) {
		this.changeListener = changeListener;
		setObjects(objects);
	}

	private void fireChangeEvent() {
		changeListener.changed(LanternaComboBox.this);
	}
	
	@Override
	public Result keyboardInteraction(Key key) {
		Result result = super.keyboardInteraction(key);
		if (result != Result.EVENT_NOT_HANDLED) {
			fireChangeEvent();
		}
		return result;
	}

	@Override
	public void setEditable(boolean editable) {
		// TODO Auto-generated method stub
	}

	@Override
	public void setValue(T value) {
		setSelectedObject(value);
	}

	@Override
	public T getValue() {
		return getSelectedObject();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy