当前位置: 首页 > 知识库问答 >
问题:

图像图标无法显示

包德业
2023-03-14

Mac OSX Netbeans JAVA

目标:21点程序…我正在尝试将扑克牌的图像图标显示在JLabel中

逻辑:我创建了一些CARD对象,用一个方法返回与之相关的imageIcon。在我的主GUI类中,如果我创建新的imageIcon来指定文件位置,它就会工作

    private void newGame(){

    String temp1, temp2, temp3, temp4;

    card1 = hand.dealHand();
    card2 = hand.dealHand();
    card3 = hand.dealHand();
    card4 = hand.dealHand();

    image1 = new ImageIcon();
    image1 = card1.getImage();


    //Creates DeckImage and Logo as JLabel and adds it to userPanel

    //image1 = new ImageIcon("/Users/philhunter/NetBeansProjects/PractingProgramming/src/Resources/1.png");


    card1Label = new JLabel(image1, JLabel.LEFT);
    userPanel.add(card1Label);

    card1Label.setText("");

}

注释掉的行工作正常,显示imageIcon图像,但是当我使用card1.getImage()方法时,图像不显示。方法很简单-

public ImageIcon getImage(){
    return this.image;
}

此外,如果您需要它,这里有一个从甲板类创建卡的方法-

private ImageIcon C1,C2, ... ,C52;
private ImageIcon[] imageArray= { C1,C2,...,C52 };
C1 = new ImageIcon("/Users/philhunter/NetBeansProjects/PractingProgramming/src/Resources/1.png");
...
C52 = new ImageIcon("/Users/philhunter/NetBeansProjects/PractingProgramming/src/Resources/52.png");

int SUITS = suit.length;
    int RANKS = rank.length;
    int N = SUITS * RANKS;

    //Creates a deck of 52 CARD objects
    theDeck = new CARD[N];
    for (int i = 0; i < RANKS; i++) {
        for (int j = 0; j < SUITS; j++) {
            //deck[SUITS*i + j] = rank[i] + " of " + suit[j];
            card = new CARD(suit[j], rank[i], value[i], imageArray[SUITS*i + j]);
            theDeck[SUITS*i + j] = card;
        }
    }

所以我的问题是为什么卡片图像图标没有显示?(我没有收到错误信息)

共有1个答案

孟跃
2023-03-14

好的,所以我发现了问题。我没有用imageIcons正确初始化数组imageArray[]。这是一个愚蠢的错误,但我想我会把它留给别人,以防其他人也犯了这个愚蠢的错误

 类似资料:
  • 我尝试了一切,但图像不会显示,我试图缩小图像,但没有用,我试图改变路径,我试图更改图像的位置,但没有帮助,我试图在互联网上搜索,但什么都没有。 我看到的只是空白的图形用户界面,没有文本和图像。如果你能帮我,你会帮我一个大忙。 代码如下:

  • 我正在努力让Jasper在图表的条形图上显示值标签。我想生成什么: 我使用Jaspersoft Studio,并在“图表绘图”选项卡中选中了“显示标签”框。出于测试目的,我使用了某种红色和紫色作为项目标签的字体颜色和背景颜色,这在条形图上应该很明显。 我的jrxml文件如下所示: 我还尝试使用定制器,基于一些SO问题: 我没法让它工作,我有上面的条形图,但没有110/760标签。 为了显示这些值,

  • 我有一个图像是6400×3200,而我的屏幕是1280×800。因此,图像需要调整大小,仅供显示。我使用的是Python和OpenCV 2.4.9。根据OpenCV文档, 如果需要显示大于屏幕分辨率的图像,则需要在IMShow之前调用namedWindow(“”,WINDOW_NORMAL)。

  • 我正在处理位图图像的透明部分用洋红色着色(在一些语言中,可以将颜色设置为透明)。我试图在原始位图图像中透明洋红色的像素。 我从SD卡加载位图: 将其复制到另一个位图以使其可变: 然后逐像素扫描,找到洋红色的像素,并尝试改变它们的透明度。 但是那些我希望变成透明的像素被转换成黑色。通过更改alpha,我发现最终颜色从中提到的颜色(不提及alpha)变为黑色。例如,变为白色,为灰色,而变黑。 我不知道

  • 本文向大家介绍BootStrap glyphicon图标无法显示的解决方法,包括了BootStrap glyphicon图标无法显示的解决方法的使用技巧和注意事项,需要的朋友参考一下 如果不注意bootstrap引入css和fonts的规范,则可能会导致bootstrap 在显示glyphicon图标时无法正常显示,显示为方框。 此时可搜索bootstrap.css中的.glyphicon,可发现