⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datetextbinding.java

📁 eclipse开发笔记
💻 JAVA
字号:
package rcpdev.common.ui.databinding;

import java.beans.PropertyChangeEvent;
import java.text.ParsePosition;
import java.util.Date;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Text;

import rcpdev.common.core.utils.DateUtils;

public class DateTextBinding extends TextBinding {

	public DateTextBinding(String attribute, Text text) {
		super(attribute, text);
	}

	@Override
	public void handleEvent(Event event) {
		if (SWT.Modify == event.type) {
			String text = ((Text) event.widget).getText();
			Date newDate = DateUtils.nFormat.parse(text, new ParsePosition(0));
			Object oldVal = getValue();
			value = newDate;
			firePropertyChange(new PropertyChangeEvent(this, BINDING_VAL,
					oldVal, newDate));
		}
	}

	@Override
	public void setValue(Object value) {
		super.setValue(value);
		Text text = (Text) getControl();
		// Remove listener before setting text
		text.removeListener(SWT.Modify, this);

		text.setText(value == null ? "" : DateUtils.nFormat
				.format((Date) value));

		// Re-register listener after set text.
		text.addListener(SWT.Modify, this);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -