Java 我正在尝试将值设置为已标记为单选按钮的字符串。我不明白我的错误

Java 我正在尝试将值设置为已标记为单选按钮的字符串。我不明白我的错误,java,user-interface,jbutton,graphical-programming,Java,User Interface,Jbutton,Graphical Programming,RoomListener.actionPerformedRoomType 这不是一个静态方法。你不能用类名来调用它 什么是房间类型?如果它不是ActionEvent,那么它就不会工作。看看这个方法 public class RoomListener implements ActionListener { public void actionPerformed(ActionEvent event) { double roomtype; if (e

RoomListener.actionPerformedRoomType

这不是一个静态方法。你不能用类名来调用它

什么是房间类型?如果它不是ActionEvent,那么它就不会工作。看看这个方法

public class RoomListener implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
        double roomtype; 

        if (event.getSource() == room1)
            roomtype = 60;
        else if (event.getSource() == room2)
            roomtype = 75;
        else 
            roomtype = 100;
    }

}


public class CostListener implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
        double NightLength, roomNumber, cost;
        String NightText = NumberOfNights.getText();
        String RoomText = NumberOfRooms.getText();

        NightLength = Double.parseDouble(NightText);
        roomNumber = Double.parseDouble(RoomText);

        RoomListener.actionPerformed(RoomType);
        cost = roomtype * NightLength * roomNumber;

        CostCalculation.setText(Double.toString(cost));
        NumberFormat fmt = NumberFormat.getNumberInstance();
        CostCalculation.setText(fmt.format(cost));
    }
}
你真的不应该对另一个听众的行为大声呼喊,或者至少我想不出一个理由。您需要在单选按钮上添加一个新的RoomListener。不过,我建议您查看一个RadioGroup类,并阅读JavaDoc以获得正确的侦听器,该侦听器允许您确定所选单选按钮的源

此方法不返回任何内容。double roomtype是一个局部变量,当您退出此方法时,它将被丢弃并被垃圾回收。也许你想修改一个成员变量?这个房间类型? 除了这一点,我不知道这里有什么房间1和房间2。。。他们似乎无法接近

public void actionPerformed(ActionEvent event)

那有什么问题?您得到了什么错误?对于RoomListener.actionPerformedroomtype;-它表示类型HotelBookingPanel.RoomListener中的actionPerformedActionEvent方法不适用于双参数
public void actionPerformed(ActionEvent event)
{
    double roomtype; 

    if (event.getSource() == room1)
        roomtype = 60;
    else if (event.getSource() == room2)
        roomtype = 75;
    else 
        roomtype = 100;
}