将消息从一个内部类传递到另一个内部类。

时间:2014-03-25 19:45:37

标签: java message inner-classes

在我正在编写的应用程序中,将消息从一个内部类传递到另一个内部类时遇到了一些问题。

    public class MealButtonListener implements ActionListener{
    public void actionPerformed(ActionEvent evt){
        int selectedRow = theFoodTable.getSelectedRow();
        Food theTempFood = FoodTableUI.this.theFoodCntl.getCurrentFood(selectedRow);
        theMealList.add(theTempFood);
        MealPlannerPopupUI thePopup = new MealPlannerPopupUI(theFoodCntl);
        if(endMeal == true){
            FoodTableUI.this.setVisible(false);
            FoodTableUI.this.theFoodCntl.getMealPlannerUI(theMealList); 
        }
    }
}

     public class NoButtonListener implements ActionListener{
     public void actionPerformed(ActionEvent evt){  
        MealPlannerPopupUI.this.setVisible(false);
        //MealPlannerPopupUI.this.theFoodCntl.getMealPlannerUI();
        //
    }
}

上面粘贴的是两个相关的类。我需要能够将NoButtonListener的布尔值传递给MealButtonListenerMealButtonListener位于名为FoodTableUI的班级中,NoButtonListener位于名为MealPlannerPopupUI的班级中。我不确定如何在这两个内部类之间传递消息。

1 个答案:

答案 0 :(得分:0)

通常,侦听器类应该具有 no 数据成员,公共或私有,并且不需要彼此通信。任何国家都应该由附上的班级举行,而不是听众班。

有些人认为监听器类方法除了调用封闭类方法之外什么都不做,实际上它完成了所有的工作。关于这个,我就围着这个问题。但是如果你发现自己必须自己从听众那里调出一些方法,那么你应该肯定移动那种方法"肉类"到封闭的班级。