Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-为什么我可以';在JFrame中看不到我的列表?_Java_Swing - Fatal编程技术网

Java-为什么我可以';在JFrame中看不到我的列表?

Java-为什么我可以';在JFrame中看不到我的列表?,java,swing,Java,Swing,我在菜单栏下看不到我的列表,它应该显示一个列表(扑克牌) 我该怎么办 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Joc extends JFrame{ JMenuBar mb = new JMenuBar(); JMenu m1 = new JMenu("Optiuni"); JMenuItem mi1 = new

我在菜单栏下看不到我的列表,它应该显示一个列表(扑克牌) 我该怎么办

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

public class Joc extends JFrame{

    JMenuBar mb = new JMenuBar();
    JMenu m1 = new JMenu("Optiuni");
    JMenuItem mi1 = new JMenuItem("Amesteca");
    JMenuItem mi2 = new JMenuItem ("Inchide");

    DefaultListModel<Card> model = new DefaultListModel<Card>();
    JList<Card> list = new JList<Card>();
    JScrollPane jsp = new JScrollPane(list);

    Deck d = new Deck ();

    public Joc() {
        super("Joc");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        setJMenuBar(mb);

        add(jsp);

        mb.add(m1);
        m1.add(mi1);
        m1.add(mi2);

        ArrayList<Card> carti = d.getCards();
        for (Card c: carti) {
            model.addElement(c);
        }

        mi1.addActionListener (
            new ActionListener() {
                    public void actionPerformed (ActionEvent ev) {
                        d.amesteca();
                        ArrayList<Card> carti = d.getCards();
                        model.clear();
                            for (Card c: carti) {
                                    model.addElement(c);
                        }
                   }
            }
        ); 

        mi2.addActionListener (
            new ActionListener() {
                    public void actionPerformed (ActionEvent ev) {
                        System.exit(0);
                   }
            }
        ); 


        setSize(500,500);
        setVisible(true);

    }

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

}

import javax.swing.*;
导入java.awt.*;
导入java.awt.event.*;
导入java.util.*;
公共类Joc扩展JFrame{
JMenuBar mb=新的JMenuBar();
JMenu m1=新JMenu(“Optiuni”);
JMenuItem mi1=新的JMenuItem(“Amesteca”);
JMenuItem mi2=新的JMenuItem(“Inchide”);
DefaultListModel=新的DefaultListModel();
JList list=新JList();
JScrollPane jsp=新的JScrollPane(列表);
甲板d=新甲板();
公共赛马会(){
超级(“Joc”);
setDefaultCloseOperation(关闭时退出);
setJMenuBar(mb);
添加(jsp);
mb.加上(m1);
m1.添加(mi1);
m1.添加(mi2);
ArrayList carti=d.getCards();
对于(卡c:carti){
模型.补充件(c);
}
mi1.addActionListener(
新建ActionListener(){
已执行的公共无效操作(操作事件ev){
d、 amesteca();
ArrayList carti=d.getCards();
model.clear();
对于(卡c:carti){
模型.补充件(c);
}
}
}
); 
mi2.addActionListener(
新建ActionListener(){
已执行的公共无效操作(操作事件ev){
系统出口(0);
}
}
); 
设置大小(500500);
setVisible(真);
}
公共静态void main(字符串[]args){
纽约赛马会();
}
}

有人能帮我解决这个问题吗?我是java和编码新手,我只是在玩代码。。。但是我想要结果

我看不到将模型添加到列表的位置,因此JList有一个空模型,没有任何显示

使用模型创建JList:

DefaultListModel<Card> model = new DefaultListModel<Card>();
//JList<Card> list = new JList<Card>();
JList<Card> list = new JList<Card>(model);

这将允许JList确定其自己的首选大小,您可以使用frame.pack()而不是frame.setSize(…)。

我看不到您将模型添加到列表的位置,因此JList有一个空模型,没有任何显示

使用模型创建JList:

DefaultListModel<Card> model = new DefaultListModel<Card>();
//JList<Card> list = new JList<Card>();
JList<Card> list = new JList<Card>(model);
这将允许JList确定自己的首选大小,您可以使用frame.pack()而不是frame.setSize(…)