SWT Text nur Zahlen

Im Endefekt habe ich es ganz anders geloest... Bzw sollte ich es ganz anders loesen...
Eine Sache konnte ich aber dennoch gut nutzen, also euch dennoch herzlichen Dank!

MfG Polli.

P.s. als ich den zweiten Link bei mir ausgefueht habe, passierte nichts deswegen war es in dem Fall nicht hilfreich fuer mich. Sorry, dass ich es falsch ruebergebracht habe...
 
"mhh... das zweite ist nicht ganz das was ich suche, " ==> "als ich den zweiten Link bei mir ausgefueht habe, passierte nichts "
Und da soll ma jemand sagen, das Kerle immer deutlich sagen was sie meinen und wollen ^^

Stell deine Loesung doch rein, wenn jmd anders das gleiche Problem hat, hat er auch ne Antwort :D
 
ich weiss zwar nicht wie du auf die confused idee kommst ich sei maennlich, aber ist okay, ich kann damit umgehen, lebe ja nun mal so wie du in einem Maennerberuf...

so ich habe im Endeffekt es zum Teil wie in deinem ersten Link gemacht, aber mit einigen Aenderungen... Im Endeffekt sind deine Links sehr hilfreich!

Hier der Code, wie ich es zwischenzeitlich geloest habe, fertig ist es noch nicht, aber ein guter Ansatz, falls jemand nicht weiterweiss oder so. Einfach angucken, wenn fragen sind anschreiben!

Code:
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;


public class TextNumeric 
{
	Text text;
	Label message;
	
	public TextNumeric() {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setLayout(new GridLayout(1, false));
		shell.setSize(300,160);
		text = new Text(shell, SWT.SINGLE | SWT.BORDER);
		message = new Label(shell, SWT.BORDER);
		GridData gridData = new GridData(GridData.FILL_BOTH);
		gridData.horizontalSpan = 1;
		message.setLayoutData(gridData);
		
		ModifyListener listener = new ModifyListener() {
		      public void modifyText(ModifyEvent e) {
		        valueChanged((Text) e.widget);
		      }
		};
		
		text.addModifyListener(listener);

		shell.open();
		
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
		display.dispose();
	}
	
	public void valueChanged(Text textfield) {
		if (!text.isFocusControl())
			return;
	
		if (textfield == text) {
			try {
				double fValue = Double.parseDouble(text.getText());
				message.setText("this is number format: "+fValue);
			} catch(NumberFormatException e) {
				text.setText("");
				message.setText("Invalid number format: " + text.getText());
			}
		}
	}
	
	public static void main(String[] args) {
		TextNumeric tn = new TextNumeric();
	}
}

See you,
cheers Polli!
 
Zuletzt bearbeitet:
Zurück