首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImageIcon不可见

ImageIcon不可见
EN

Stack Overflow用户
提问于 2016-06-08 13:14:23
回答 1查看 85关注 0票数 1

我试图将ImageIcon放在JLabel上,但它没有出现在JFrame中。我找不到错误的代码,我的控制台也没有显示任何错误。

下面是代码:

代码语言:javascript
复制
public class Gui extends JFrame implements ActionListener {

    private JLabel card;
    private JButton bBet;
    private ImageIcon c2 = new ImageIcon("./images/c2.jpg");
    private ImageIcon d2 = new ImageIcon("./images/d2.jpg");
    private ImageIcon h2 = new ImageIcon("./images/h2.jpg");
    private ImageIcon s2 = new ImageIcon("./images/s2.jpg");
    private JPanel panel;
    private int cardx1 = 250, cardy1 = 400;

    public Gui() {

        this.setTitle("Simple Blackjack");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(1200, 800);
        this.setLayout(null);

        panel = new JPanel();
        panel.setBounds(10, 10, 1200, 800);
        panel.setLayout(null);

        bBet = new JButton("Bet");
        bBet.setBounds(10, 70, 200, 35);
        bBet.addActionListener(this);
        panel.add(bBet);

        this.add(panel);
        this.setVisible(true);

}

public void actionPerformed(ActionEvent event) {

    if (event.getSource() == bBet) {
        random = getRandom();
        addLabel(cardx1, cardy1, random);
    }


}

public void addLabel(int x, int y, int random) {

    Random r = new Random(4);
    int which = r.nextInt();

    card = new JLabel();
    card.setBounds(x, y, 166, 230);

    switch (random) {
    case 0:
        if (which == 0){
            card.setIcon(c2);
        } else if (which == 1) {
            card.setIcon(d2);
        } else if (which == 2) {
            card.setIcon(h2);
        } else if (which == 3) {
            card.setIcon(s2);
        }
        break;
    }

    panel.add(card);
    panel.repaint();


}
EN

回答 1

Stack Overflow用户

发布于 2016-06-08 13:58:22

我认为如果图像的位置正确,那么下一个问题就是随机数的生成。而不是

代码语言:javascript
复制
    Random r = new Random(4);
    int which = r.nextInt();

使用下面的代码生成随机数

代码语言:javascript
复制
ThreadLocalRandom.current().nextInt(0, 4);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37703562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档