第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JLabel不會在課堂上顯示圖像

JLabel不會在課堂上顯示圖像

一只斗牛犬 2023-10-19 21:08:12
我目前正在嘗試創(chuàng)建一個 GUI,其中兩個硬幣圖像在邊框布局的中心彼此相鄰顯示。我有一個類(圖像),我嘗試在其中使用 JLabel 來顯示圖標,另一個類處理 GUI 框架(GameGUI)。然而,盡管我盡了最大努力,標簽仍不顯示圖像。我瀏覽了無數(shù)的教程,但找不到任何東西可以解決這個問題。相對路徑是正確的,我該如何解決這個問題?圖片類public class Images extends JLabel{    private JLabel heads, tails;    public Images() {        heads = new JLabel(new ImageIcon("img/heads.png"));        tails = new JLabel(new ImageIcon("img/tails.png"));        add(heads);        add(tails);    }}游戲GUI類public class GameGUI extends JFrame{    public GameGUI() {        super("");        setLayout(new BorderLayout(10,10));        Menu menu = new Menu();        ToolBar toolBar = new ToolBar();        Images images = new Images();        setJMenuBar(menu);        add(BorderLayout.NORTH, toolBar);        add(BorderLayout.CENTER, images);        setSize(1000, 500);        setLocationRelativeTo(null);        setVisible(true);        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);    }}
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

問題:


public class Images extends JLabel{


    private JLabel heads, tails;


    public Images() {

        heads = new JLabel(new ImageIcon("img/heads.png"));

        tails = new JLabel(new ImageIcon("img/tails.png"));

        add(heads);

        add(tails);

    }

}

JLabels 使用空布局,這意味著您的內(nèi)部 JLabel 組件的大小將為 0, 0,并且圖像 JLabel 本身將具有相同的首選大小,并且不會顯示任何內(nèi)容,因此您永遠不想將 JLabel 添加到J標簽。不要讓圖像擴展 JLabel,而是擴展 JPanel,并給它一個像樣的布局,也許是 GridLayout。


例如。,


public class ImagePanel extends JPanel {

    private JLabel headsLabel = new JLabel();

    private JLabel tailsLabel = new JLabel();


    public ImagePanel(Icon headsIcon, Icon tailsIcon) {

        headsLabel.setIcon(headsIcon);

        tailsLabel.setIcon(tailsIcon);

        setLayout(new GridLayout(1, 0);

        add(headsLabel);

        add(tailsLabel);

    }       

}

再次,我建議將圖像作為資源獲取,而不是使用 ImageIO 讀取的文件,例如


Image headImage = ImageIO.read(getClass().getResource(resourcePath));

Icon headIcon = new ImageIcon(headImage);

資源路徑至關重要,并且取決于圖像相對于類文件的位置。


查看完整回答
反對 回復 2023-10-19
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號