我有一個JPanel(我使用netbeans創建的),我需要根據前一頁的選擇加載圖像。任何人都可以建議如何做到這一點。 JPanel也是做我想做的最好的方法,或者我可以做其他的事情?在JPanel中加載圖像
努力表示感謝!
我有一個JPanel(我使用netbeans創建的),我需要根據前一頁的選擇加載圖像。任何人都可以建議如何做到這一點。 JPanel也是做我想做的最好的方法,或者我可以做其他的事情?在JPanel中加載圖像
努力表示感謝!
顯示圖像最簡單的方法是使用JLabel
並調用它的setIcon
方法(或其構造函數)。該圖標可以使用ImageIcon
類的構造函數之一加載。
查看http://download.oracle.com/javase/tutorial/uiswing/components/label.html舉例。
+1非常感謝! – koool
這是一個示例代碼,演示如何在JPanel
中加載圖像; background.jpg
是我們正在加載到JPanel
的圖像。還請注意,該圖像應該在源代碼中可用。
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ImageTest {
public static void main(String[] args) {
ImagePanel panel = new ImagePanel(
new ImageIcon("background.jpg").getImage());
JFrame frame = new JFrame();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
+1謝謝!!!!!!! – koool
在每個stackoverflow頁面的右上角是一個文本框,其中灰色提示符表示:'** search **'。這意味着你可以點擊這個框並輸入一些單詞(如'image jpanel'')並按回車鍵。該網頁_magically_重新加載並顯示包含這些單詞的問題列表(和答案!)。我爲你照顧這件事,我很自豪地向你展示第二擊:http://stackoverflow.com/questions/1242581/display-a-jpg-image-on-a-jpanel ;-) – bobndrew