首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC模式GUI程序java (更新GUI)

MVC模式GUI程序java (更新GUI)
EN

Stack Overflow用户
提问于 2016-03-07 12:19:58
回答 1查看 101关注 0票数 0

嗨,伙计们,我正在开发一些Java程序,并且已经被困了几个小时,试图弄清楚这个问题。我希望你能帮助我,我发现图形用户界面是最难的部分。如下所示:创建一个名为Hobby的类,它具有属性、hobbyName和一个Hobby对象的构造函数,它接受一个字符串名称作为一个parameter.Create;一个名为HobbyList的类,它保存一个包含10个爱好的向量或数组(这两个类将表示系统中的数据(或模型))。向HobbyList类添加addHobby (向向量添加业余爱好)和getHobby (业余爱好的返回向量)方法。创建两个视图类,将一个视图类称为ListView (使用JList图形用户界面来显示HobbyList中保存的爱好),并将另一个类称为ComboView类(使用JComboBox).In每个图形用户界面都提供了一种添加到HobbyList的方法,并提供了另一个按钮来刷新列表显示。将监听程序类与GUI类分开(监听程序类\class将

表示控制器\控制器)。

代码语言:javascript
复制
    public class hobby {

    String hobbyName;

    public hobby(String hobby)
    {
        this.hobbyName = hobby;

    }
}

到目前为止的HobbyList类

代码语言:javascript
复制
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类

代码语言:javascript
复制
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

}
}
EN

回答 1

Stack Overflow用户

发布于 2016-03-07 12:44:58

我觉得你应该改一下台词

代码语言:javascript
复制
JList HobbieValues = new JList(Hobbies);

代码语言:javascript
复制
JList HobbieValues = new JList(HobbyList.Hobbies);

尽管我认为JList只接受向量或数组作为参数。在这种情况下,我们可以将以下内容更改为

代码语言:javascript
复制
JList HobbieValues = new JList(HobbyList.Hobbies.toArray());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35836113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档