java中的double if语句(swing,JFrame)不起作用

时间:2012-10-02 20:43:11

标签: java swing jframe

我正在尝试创建一个表单,以便当用户选中复选框并单击按钮时,将执行一些代码。我试图在if语句中这样做,当我做两件事时没有任何反应。我在Java中用Swing做这个。

以下是代码:

private class theHandler implements ActionListener{
    public void actionPerformed(ActionEvent event){
        String tftext;
        tftext = tf1.getText();

        if (event.getSource()==b1)
            if(event.getSource()==cb1)
            JOptionPane.showMessageDialog(null, tftext, "title", JOptionPane.INFORMATION_MESSAGE);

b1是一个按钮,cb1是一个复选框,tf1是一个文本字段。

2 个答案:

答案 0 :(得分:5)

Event.getSource()无法引用两个不同的对象,它应该引用单个事件的唯一来源,例如单击按钮时的按钮。您的嵌套语句永远不会执行。

听起来您应该处理按钮单击,并在该事件处理程序中检查复选框的状态(已选中或未选中)。如果选中该复选框,则显示您的对话框。

答案 1 :(得分:3)

基本上你说的是,如果事件来自按钮并且事件来自复选框,则显示一条消息。

这是不可能的,因为一个按钮和一个复选框同时无法触发一个事件。你不能同时点击它们。