0

GUI を開発しようとしていますが、問題が発生しました。

txtEnter フィールドを参照する送信ボタンを使用しています。ユーザーが txtEnter フィールドに「yes」と入力して送信をクリックすると、シェル スクリプトが実行されます。ユーザーが「いいえ」と入力した場合、アクションはありません。シェルスクリプトを実行するコマンドはRuntime.getRuntime().exec(myShellScript);

SubmitListner で if-else ステートメントを使用して、ユーザーの入力を確認するにはどうすればよいですか?

import javax.swing.*; import javax.swing.event.DocumentListener;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Executer private JLabel lblCommand;
private JTextField txtEnter;
private JButton btNext, btPrevious, btSubmit;
private JPanel panel;

public static void main(String[] args) {
    new Executer();
}
public  Executer() {
    JFrame frame = new JFrame("Script Executer");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,300);
    frame.setVisible(true);
    myPanel();
    Text();
    Fields();
    Buttons();
    frame.add(panel); 
    frame.setVisible(true);
}
public void myPanel() {
    panel = new JPanel();
    panel.setLayout(null);
}

public void Text(){
    lblCommand = new JLabel("Enter Here");
    lblCommand.setBounds(145, 100, 150, 20);
    Font styleOne = new Font("Arial", Font.BOLD, 13);
    lblCommand.setFont(styleOne);
    panel.add(lblCommand);
}

public void Fields () {
    txtEnter = new JTextField();
    txtEnter.setBounds(230, 100, 120, 20);
    panel.add(txtEnter);
}
public void Buttons() {
    btNext = new JButton ("Next");
    btNext.setBounds(300,215,100,20);
    panel.add(btNext);

    btPrevious = new JButton ("Previous");
    btPrevious.setBounds(190,215,100,20);
    panel.add(btPrevious);

    btSubmit = new JButton("Submit");
    btSubmit.setBounds(80,215,100,20);
    panel.add(btSubmit);
}

class SubmitListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {


        }}}
4

1 に答える 1

2

Actionlistener をボタンに割り当てる必要があります。

btSubmit = new JButton();

    btSubmit.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            // here the click happend so you can check your Textfield

            String userEntered = txtEnter.getText();

            if(userEntered.equalsIgnoreCase("yes"))
            {
                //run your script
            }
        }
    });
于 2013-07-29T14:53:12.537 に答える