Java 如何处理输入?

Java 如何处理输入?,java,swt,Java,Swt,你好,这是我在这里的第一篇文章,我正在尽我最大的努力学习编程! 我正试图在Eclipse中用SWT编写一个程序。 它是一个基本程序,应该接收用户的输入,并根据(ifstatement)用户输入的日期显示特定的输出 问题是:我第一次尝试将if语句放在文本字段下,但我注意到我需要某种按钮来运行它,否则它就不起作用了 其中是导致输入的错误:Dilluns未输出:MATESSS public void open() { Display display = Display.getDefault()

你好,这是我在这里的第一篇文章,我正在尽我最大的努力学习编程! 我正试图在Eclipse中用SWT编写一个程序。 它是一个基本程序,应该接收用户的输入,并根据(
if
statement)用户输入的日期显示特定的输出

问题是:我第一次尝试将
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("");
        }
    });
}

您使用的是触摸监听器,该监听器需要支持触摸的设备(并且必须启用)

假设您使用的是普通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
方法不会返回输入文本。

您正在使用的触摸监听器需要支持触摸的设备(并且必须启用)

假设您使用的是普通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
方法不会返回输入文本。

这不是Swing。真是太棒了!对不起,我弄糊涂了。在这种情况下,我很抱歉,我批准了一个用swing替换swt的编辑标签。相反,标题和文本应该改为SWT。这太快了。是的,如果我看到@camickr的评论,我会在编辑中包含这些更改。请随意编辑。这不是Swing。真是太棒了!对不起,我弄糊涂了。在这种情况下,我很抱歉,我批准了一个用swing替换swt的编辑标签。相反,标题和文本应该改为SWT。这太快了。是的,如果我看到@camickr的评论,我会在编辑中包含这些更改。请随意编辑它。