我正在嘗試將圖像繪製到面板上,該圖像由一個框架包含。獨立於平臺的圖像java中的圖像
讓我們說我有一個320×480的圖像。 當我嘗試創建一個大小爲320x480的框架並將面板添加到其中時,我遇到了問題。
在不同的操作系統中,由於標題欄的緣故,320x480的JFrame大小不同。 因此,我在Windows XP或Windows XP中正確匹配的圖像將無法正確繪製。
灰色補丁是可見的,因爲圖像沒有正確放置。 我試着重寫paint方法並使用ImageIcon。
請提供解決方案。
TIA
代碼段
CLASS PA CONTENTS
setPreferredSize(new Dimension(500,500));
.
.
JLabel image= new JLabel();
ImageIcon background = new ImageIcon(getClass().getClassLoader().getResource("Flower.jpg"));
image.setBounds(0, 0, 500, 500);
image.setIcon(background);
this.add(image); //where "this" is extending from JPanel
CLASS PB CONTENTS
frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
inserting(frame.getContentPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setResizable(false);
private void inserting(Container pane)
{
cardPanel=new JPanel();
CardLayout cards=new CardLayout();
cardPanel.setLayout(cards);
PA home= new PA();
cardPanel.add(home,"homeScreen");
pane.add(cardPanel);
}
爲了得到更好更快的幫助,請提供[SSCCE(http://sscce.org) –
你有沒有打過電話['包() '](http://docs.oracle.com/javase/7/docs/api/java/awt/Window.html#pack%28%29)在您的JFrame上,而不是明確地設置它的大小? – VGR
是的,我已經使用了pack,因爲我明確指定了包含面板的大小。 這是問題嗎? (已加密碼) – user2756339