java - 从 ArrayList 到 JComboBox

标签 java arraylist jcombobox

我有一个作业集,我需要将游戏中的 JComboBox 输入到 ArrayList 中,现在我已经完成了所有设置,除了整个添加到数组列表之外,我只想让输入正常工作。它加载了,但它打印了数组地址,而不是字符串,有什么方法可以解决这个问题吗?我的代码如下。请注意,这不是全部,这是给我带来麻烦的文件,我的其他文件用于显示这些文件。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

import java.io.*;
import java.util.*;

public class GameCombo extends JPanel {
  ArrayList<Game> gamesList = new ArrayList<Game>();

  //String[] games = {"", "[Halo: Reach] Xbox 360; Action; $108.00; 2;", "[Dead Space] Xbox 360; Horror; $65.00; 1;"}; 

    public GameCombo() {
      setLayout(new GridLayout(1,1,1,1));
    gamesList.add(new Game());
    gamesList.add(new Game("[Halo: Reach]", 3, 1, 108.00, 2));
    gamesList.add(new Game("[Dead Space]", 3, 2, 80.00, 1));

    JComboBox _gameBox = new JComboBox(getGames());
        add(_gameBox);
    }

    public Object[] getGames() {
        return gamesList.toArray();
    }
}

最佳答案

AKJ 是对的。

import java.util.ArrayList;

import javax.swing.JComboBox;
import javax.swing.JFrame;

public class ComboTest extends JFrame {
    private ArrayList<Game> gamesList = new ArrayList<Game>();

    private class Game {
        private String title = "";

        public Game() {}

        public Game(String title, int x, int y, double z, int a) {
            this.title = title;
        }

        /********************************************************/
        /********************************************************/
        @Override
        public String toString() {
            return this.title;
        }
        /********************************************************/
        /********************************************************/
    }

    public ComboTest() {
        gamesList.add(new Game());
        gamesList.add(new Game("[Halo: Reach]", 3, 1, 108.00d, 2));
        gamesList.add(new Game("[Dead Space]", 3, 2, 80.00d, 1));
        add(getCombo());
        setSize(320, 80);
        setVisible(true);
    }

    private JComboBox getCombo() {
        JComboBox box = new JComboBox(getGames());
        return box;
    }

    private Object[] getGames() {
        return gamesList.toArray();
    }

    public static void main(String[] args) {
        new ComboTest();
    }
}

关于java - 从 ArrayList 到 JComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309449/

相关文章:

java - 如果 EditText 为空,则阻止用户关闭警报对话框

java - 使用 xinclude 标签将多个 XML 文件加入到单个文件中

java - 设置bean进行序列化

java - 如何从另一个类创建对象的数组列表?

Java Tic Tac Toe 错误

java - 在从sql数据库列表中检索到的新记录中添加

java - 删除重复的项目java gui

java - 在 Java 中比较整数

java - 选择特定 JComboBox 项时如何向 JPanel 添加附加 JButton

java - 如何通过 Combobox 在 java 中设置框架的标题?