嗨,大家好我正在研究一些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