嗨,大家好我正在研究一些Java程序,並且一直困住了幾個小時試圖弄清楚這一點。希望你能幫助我,我發現GUI部分是最困難的。問題如下: 創建一個名爲Hobby的類,它具有Hobby對象的屬性hobbyName和一個 構造函數,該對象接受一個String名稱作爲參數。創建一個名爲HobbyList的類,該類包含一個Vector或Array of 10個愛好(這兩個類將代表系統中的數據(或模型))。向HobbyList類中添加一個 addHobby(向vector添加Hobby)和getHobby(返回Hobbies的向量)方法。創建兩個視圖類,調用一個視圖類ListView(使用JList GUI顯示HobbyList中保存的愛好),並調用另一個類ComboView類(使用JComboBox)。在每個GUI中提供一種方法將其添加到HobbyList和另一個按鈕來刷新列表顯示。保持監聽器類獨立於GUI類(監聽器類\
代表控制器\控制器)。MVC模式GUI程序java(更新GUI)
public class hobby {
String hobbyName;
public hobby(String hobby)
{
this.hobbyName = hobby;
}
}
HobbyList類到目前爲止
mport java.util.ArrayList;
public class HobbyList {
public static void main(String[] args) {
Hobbies.add("BasketBall");
Hobbies.add("FootBall");
}
static ArrayList<String> Hobbies = new ArrayList<String>();
public void addHobby()
{
String hobby = "";
Hobbies.add(hobby);
}
public ArrayList<String> getHobby()
{
return Hobbies;
}
}
的ListView類到目前爲止
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.awt.event.*;
class ListView extends JFrame
{
public static void main (String [] args)
{
JFrame frame = new JFrame("List View");
frame.setVisible(true);
frame.setSize(300,400);
JButton button = new JButton();
button.setText("Add");
JList HobbieValues = new JList(Hobbies); //Not working
JPanel ListPanel = new JPanel();
ListPanel.add(button); //Add Button to Panel
ListPanel.add(HobbieValues);
frame.add(ListPanel); //Add Panel to frame
}
}
您知道,雖然此方法有效,但通常最好定義一個包裝'HobbyList'的ListModel,但這可能會使OP的頭部爆炸。 。也是'HobbyList'是一個類不是對象 – MadProgrammer
是的,但愛好列表是靜態的。 –
嗯,好吧,OP可以做出來的問題 – MadProgrammer