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

com.harium.etyl.ui.label.MultiLangLabel Maven / Gradle / Ivy

There is a newer version: 1.0.18
Show newest version
package com.harium.etyl.ui.label;

import java.util.Map;

import com.harium.etyl.commons.event.GUIEvent;
import com.harium.etyl.i18n.Language;
import com.harium.etyl.i18n.LanguageModule;

/**
 * 
 * @author yuripourre
 *
 */

public class MultiLangLabel extends TextLabel {
	
	private Map texts;
	
	public MultiLangLabel(Map texts) {
		this(0, 0, texts);
	}
	
	public MultiLangLabel(int x, int y, Map texts) {
		this(x,y,0,texts);
	}
	
	public MultiLangLabel(int x, int y, int w, Map texts) {
		super(x, y, w);
		
		this.texts = texts;

		Language lang = LanguageModule.getInstance().getLanguage();
		reloadText(lang);
	}

	@Override
	public void updateEvent(GUIEvent event){
				
		if(event==GUIEvent.LOST_FOCUS){
			
			onFocus = false;
			
		}else if(event==GUIEvent.GAIN_FOCUS){
			
			onFocus = true;
			
		}else if(event==GUIEvent.LANGUAGE_CHANGED){
			
			reloadText(LanguageModule.getInstance().getLanguage());
			
		}
		
	}
	
	public Map getTexts() {
		return texts;
	}

	public void setTexts(Map texts) {
		this.texts = texts;
	}
	
	private void reloadText(Language lang){
		if(texts.containsKey(lang)){
			setText(texts.get(lang));
		}else{
			setText(texts.get(Language.ENGLISH_US));
		}		
	}
		
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy