簡體   English   中英

如何將800x600圖像放入jLabel,而無需滾動查看整個圖像

[英]How to put a 800x600 image in a jLabel without having to scroll to see the whole image

我嘗試了類似getScaledInstance的方法,但是都無法正常工作。 我也找不到在線任何解決方案。 我當前使用的代碼是:

public class ShowImage_1 extends Panel {

    BufferedImage image;

    public ShowImage_1() {
        try {
            File input = new File("C:/Lighthouse.jpg");
            image = ImageIO.read(input);
            image.getGraphics().drawImage(image, 0, 0, 400, 400, null);
        } catch (IOException ie) {
            System.out.println("Error:" + ie.getMessage());
        }
    }

    public void paint(Graphics g) {
        g.drawImage(image, 0, 0, null);
    }

    static public void main(String args[]) throws Exception {
        JFrame frame = new JFrame("Display image");
        Panel panel = new ShowImage_1();

        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

它不會在面板上顯示完整圖像。 關於如何去做的任何想法?

我想達到這種效果: http : //img209.imageshack.us/i/77894822.png/

但是我現在得到的是: http : //img600.imageshack.us/i/19267006.png/

我可以使用任何其他代碼來獲得它嗎?

使面板足夠大以容納圖像。這可能會解決您的問題

將圖像添加到JLabel。 將標簽添加到框架。 然后使用:

frame.pack();

frame.setSize(800, 600);

如果您需要更多幫助,請發布SSCCE演示問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM