我正在用Room
類構建一個應用程序,這個類是抽象的,而Standard
類繼承自Room
。然後我創建了一個Hostel
類。在Hostel
類中,可以添加房間的是ArrayList<Room> rooms
。我在Hostel
類中創建了一個顯示所有可用房間的方法,但是當我嘗試在另一個類中實例化此類時(MainGUI
),則不顯示任何內容。據我所見,這是因爲我每次點擊按鈕時都會創建一個新的宿舍,但想知道如何傳遞數據而不是每次創建新宿舍。以下是相關的代碼片段。來自另一個類的涉及Arraylist的調用方法
Hostel Class
public Hostel()
{
rooms = new ArrayList<Room>();
}
public void showAvail()
{
for (Room room : rooms)
{
if (room.available == true)
{
theString = room.getRoomData() + "\n";
//System.out.println("Available Rooms" + "\n" + theString);
JOptionPane.showMessageDialog(null,theString);
}
}
}
public void addRoom(Room theRoom)
{
rooms.add(theRoom);
}
MainGUI Class
roomsFreeB.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Hostel host = new Hostel();
host.showAvail();
}
});
任何幫助,將不勝感激
你在哪裏灌裝'rooms'? – Kevin
@Kevin我有一個標準類的標準房間的構造函數然後被添加到旅館類中的Array列表 –
他們是否在其構造函數中添加到'Hostel'中?如果是這樣,請發佈該代碼。如果沒有,那是你的問題,添加'房間'的代碼永遠不會被調用。 – Kevin