一个JButton动作事件中的if-else条件(If-else condition within

2019-09-23 07:26发布

我刚刚上传了我的进步到程序中。 请看看,看看什么是缺乏的。 另外,请从它的字符串忽略跛脚笑话,而你在这。 :它可以从这个链接下载http://www.mediafire.com/?n0sp8v22egfsx7t

请注意,我用的NetBeans容易地使计划。

编辑:

如何阻止重新迭代的第一层的阅读JButton中的ActionEvent方法的if-else条件一旦最里行或代码的最后一行读拼图?

另外,作为一个额外的问题,我怎么提示系统选项之间进行选择从而从字面上一旦选择给出从另一个分支出来? 显然,我在做什么只是连接字符串的这些块一起,而不是分支出来从而出现重复一次规范的一个新的块将被显示在连接到显示的代码前面的块。 。

片段:

// Strings of text displayed on the JTextArea is shown here
// prompting to choose between two options: example, left or right

jButton1.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
       jButton1actionPerformed(e);
    }
});


private void jButton1actionPerformed(ActionEvent e) 
{                                             
    if(jRadioButton1.isSelected()) 
    {     
       // Display strings of text as response to the choice left
       // Another options to choose from here:, example, up or down
       JTextArea.setText("You've chosen: " );
       JTextArea.append("Now choose between: ");

       if (jRadioButton1.isSelected())
       {
         JTextArea.append("From first choice, choose between: ");
         // stop from here
       }

       else if (jRadioButton2.isSelected())
       {
         //same as above
       }
     }

     if (jRadioButton2.isSelected())
     {
        // Same as above
     }
}

Answer 1:

使用JTextField.setText("")每当你要清理的文本区域。 Regardind的主要问题 - 发布一些代码..



Answer 2:

如何阻止重新迭代的第一层的阅读JButton中的ActionEvent方法的if-else条件一旦最里行或代码的最后一行读拼图?

如果我理解你的要求,这是一个整点if ... else if ... else if ... (etc) ... else声明。 当其中的一个条件相匹配时,执行没有任何其他块。 所以它看起来像你只需要添加else s到符合您if秒。 例如:

// Strings of text displayed on the JTextArea is shown here
// prompting to choose between two options: example, left or right

jButton1.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
       jButton1actionPerformed(e);
    }
});


private void jButton1actionPerformed(ActionEvent e) 
{                                             
    if(jRadioButton1.isSelected()) 
    {     
       // Display strings of text as response to the choice left
       // Another options to choose from here:, example, up or down
       JTextArea.setText("You've chosen: " );
       JTextArea.append("Now choose between: ");

       if (jRadioButton1.isSelected())
       {
         JTextArea.append("From first choice, choose between: ");
         // stop from here
       }

       else if (jRadioButton2.isSelected())
       {
         //same as above
       }
     }

     else if (jRadioButton2.isSelected()) // ***** Note the "else" added here.
     {
        // Same as above
     }
}

然而,有一个与你的代码有问题。 你为什么要检查两次,如果jRadioButton1选择? 第一if语句之后,你已经知道它被选中,也不需要再次检查。



Answer 3:

我认为,如果你是问如何停止动作,甚至一旦你打的情况下,所有你需要做的就是添加一个return语句代码。 例如,如果按钮1被推动时,显示消息,然后添加一个返回语句,这将导致代码退出该方法,如果语句没有得到到另一个。

也许你想使用的东西如哈希或列表来存储您的选择和作出选择每一次,将其添加到列表中。 然后,你总能找到通过获取列表的我们最后的元素所做的最后的选择。 我不是你正试图在这里做什么是真正的清楚,但也许这会给你一些想法。


我这里写一个小程序,有2个单选按钮和提交。 当您单击提交更新基础上的单选按钮选择窗口中的文本。

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;


public class MyWindow extends JFrame {

    private JPanel contentPane;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    MyWindow frame = new MyWindow();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public MyWindow() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        final JRadioButton rdbtnNewRadioButton = new JRadioButton("Choice 1");
        rdbtnNewRadioButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
            }
        });
        rdbtnNewRadioButton.setSelected(true);
        rdbtnNewRadioButton.setBounds(5, 7, 424, 23);
        contentPane.add(rdbtnNewRadioButton);

        JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("Choice 2");
        rdbtnNewRadioButton_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
            }
        });
        rdbtnNewRadioButton_1.setBounds(5, 33, 109, 23);
        contentPane.add(rdbtnNewRadioButton_1);

        ButtonGroup buttonGroup = new ButtonGroup();
        buttonGroup.add(rdbtnNewRadioButton);
        buttonGroup.add(rdbtnNewRadioButton_1);

        final JTextArea textArea = new JTextArea();
        textArea.setBounds(57, 80, 321, 94);
        contentPane.add(textArea);

        JButton btnNewButton = new JButton("Submit");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (rdbtnNewRadioButton.isSelected()) {
                    textArea.setText("Choice 1 Selected.");
                } else {
                    textArea.setText("Choice 2 Selected.");
                }
            }
        });

        btnNewButton.setBounds(135, 212, 89, 23);
        contentPane.add(btnNewButton);
    }
}

退房的Java教程上使用按钮。 具体看一下如何使用单选按钮部分,看看是否能阐明了你会怎样设计它任何光线。

如何使用单选按钮



文章来源: If-else condition within a JButton ActionEvent