[英]Java - Why i can't see my list in JFrame?
我在菜单栏下看不到我的列表,它应该向我显示一个列表(扑克牌),我该怎么办?
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(...)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.