gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 21:49:21 26 4
gpt4 key购买 nike

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

IMAGE

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();
}

}

谁能帮我解决这个问题吗?我是 java 和编码新手,我只是玩弄代码......但我想要结果

最佳答案

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

使用模型创建 JList:

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

此外,您应该使用:

list.setVisibleRowCount(...);

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

关于Java - 为什么我在 JFrame 中看不到我的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com