您好,这是我在这里的第一篇文章,我正在尽力学习编程!
我想在Eclipse中用SWT创建一个程序。
这是一个基本程序,它应该接收来自用户的输入并依赖于(if
语句)用户输入的当天,显示某个输出。
问题:我首先尝试将if
语句放在文本字段下,但我注意到我需要某种按钮才能运行,否则它不起作用!
输入错误的位置:Dilluns
未输出:MATESSS!
?
public void open() {
Display display = Display.getDefault();
createContents();
elsllibres.open();
elsllibres.layout();
while (!elsllibres.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
protected void createContents() {
elsllibres = new Shell();
elsllibres.setSize(450, 300);
elsllibres.setText("OSKARITOOO Industries");
Label lblQuinsLlibresCal = new Label(elsllibres, SWT.NONE);
lblQuinsLlibresCal.setBounds(10, 10, 360, 15);
lblQuinsLlibresCal.setText("QUINS LLIBRES CAL PORTAR AVUI?");
Label lblIndicaElDia = new Label(elsllibres, SWT.NONE);
lblIndicaElDia.setBounds(10, 31, 96, 15);
lblIndicaElDia.setText("INDICA EL DIA:");
text_1 = new Text(elsllibres, SWT.BORDER);
text_1.setText("EX: Dilluns, Dimarts...");
text_1.setBounds(10, 52, 123, 21);
Label info = new Label(elsllibres, SWT.NONE);
info.setBounds(10, 79, 174, 15);
info.setText("Cal portar els llibres de...");
resultat = new Label(elsllibres, SWT.NONE);
resultat.setBounds(10, 100, 207, 15);
Button ok = new Button(elsllibres, SWT.NONE);
ok.addTouchListener(new TouchListener() {
public void touch(TouchEvent arg0) {
String quediaes;
quediaes = text_1.toString();
if(quediaes.equals("Dilluns")){
resultat.setText("MATESSSS!");
}
}
});
ok.setBounds(142, 48, 75, 25);
ok.setText("OK");
text_1.addMouseTrackListener(new MouseTrackAdapter() {
@Override
public void mouseEnter(org.eclipse.swt.events.MouseEvent e) {
text_1.setText("");
}
});
}
答案 0 :(得分:0)
您正在使用触控侦听器,需要支持触控的设备(也必须启用)。
假设您使用普通PC,则需要为按钮使用选择侦听器:
Button ok = new Button(elsllibres, SWT.NONE);
ok.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(final SelectionEvent e)
{
String quediaes = text_1.getText(); // getText not toString
if (quediaes.equals("Dilluns")) {
resultat.setText("MATESSSS!");
}
}
});
您还必须调用文本控件的getText()
方法,您使用的toString
方法不会返回输入文本。