将ArrayList添加到摆动ComboBox中

如何解决将ArrayList添加到摆动ComboBox中

我正在使用内置的拖放式GUI构建器使用Netbeans构建GUI,我正努力获取jCombobox来获取数组列表,希望有人指出我做错了什么。我尝试的所有操作似乎都会导致错误,因此我在这里拔头发试图使其正常工作。

我已经使用以下代码创建了comboBox

jComboBox1 = new javax.swing.JComboBox();

如果有人可以告诉我如何使用“可用的我的列表”填充comboBox,我将非常感谢

我已经在初始化的主要方法中包含了对象:

//Created a user object to represent a customer of the streaming service 
User user;

//Initiliased video object
Video video ;


//Create new arraylist using  AvailableVideos
List AvailableVideos = new ArrayList<>();

 //Created CurrentPlaylist object to store a collection of video objects
List<Video> CurrentPlaylist= new ArrayList<>();


MyVideos myVideos = new MyVideos(user);

然后在我拥有的initComponents中

    public GUI_App() {
     
    initComponents();

    //Call the AddVideos method to add available videos 
    Video.addVideos((ArrayList<Video>) AvailableVideos);
}

下面,我包含了我要调用的两个类

public class MyVideos {
private ArrayList<Video> items;
private int currentItemNumber;
private User user;

public MyVideos(User user) {      
    this.user = user;
    this.items = new ArrayList<>();
    this.currentItemNumber = 0;
}

public MyVideos() {      
    this.user = new User("Intro Account",1000);
    this.items = new ArrayList<>();
    freebieMedia();   
    this.currentItemNumber = 0;
}

private void freebieMedia(){
    items.add(new Series("Game of Thrones",50,false));
    items.add(new Series("Planet Earth",60,true));
    items.add(new MusicVideo("Losing my religion",200,"REM"));
    items.add(new Movie("The Last Jedi",9120,"Rian Johnson"));
}

public User getUser(){
    return user;
}

public int getNumItems() {
    return items.size();
}

public ArrayList<Video> getItems() {
    return items;
}

public Video getMedia(int i) {
    return items.get(i);
}

public void addMedia(Video m){
    if(user.hasSufficientBalance(m)) {
        items.add(m);
        this.user.changeBalance(-m.getPrice());
    }
    System.out.println("added " + m.getTitle());
}
  
public String getScheduleAsString(){
    String rs = "";
    for(Video m: items){
        rs += m.toString() + "\n";
    }
    return rs;
}

public int getTotalDuration(){
    int time = 0;
    for(Video m: items){
        time += m.getDuration();
    }
    return time;
}

public int getTotalCost(){
    int cost = 0;
    for(Video m: items){
        cost += m.getPrice();
    }
    return cost;
}

@Override
public String toString() {
    String str = "Number of Items:"  + this.getNumItems() + "\t"
            + "Time: " + getTotalDuration()
            + getScheduleAsString();

    return str; 
}


/* A method to add a media item without chargeing user's wallet */    
public void addFreeMedia(Video m){
    items.add(m);
}    /* A method to remove a media item from the playlist */    
public void removeMedia(int i) {
    items.remove(i);
}
}

视频课程

public abstract class Video {

private int duration;
private String title;

public Video(String name,int minutes) {
    this.title = name;
    this.duration = minutes;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}    

public int getDuration() {
    return duration;
}

public void setDuration(int d) {
    this.duration = d;
}

  
@Override
public String toString() {
    DecimalFormat round = new DecimalFormat("0.00");
    return  this.getTitle() 
            + ",Duration: " + this.getDuration() + "min," +
            "Cost: £" + round.format(getPrice());
}

public abstract double getPrice();




/* Convenience method for Part 2 to allow Video objects can be added */
public static void addVideos(ArrayList<Video> v){
    v.add(new Series("Game of Thrones",false));
    v.add(new Series("Planet Earth",true));
    v.add(new MusicVideo("Losing my religion",4,"REM"));
    v.add(new Movie("The Last Jedi",152,"Rian Johnson"));
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-