導航:首頁 > 編程語言 > javagui加圖片

javagui加圖片

發布時間:2025-08-27 01:37:43

java 面板上顯示圖片的語句怎麼寫,最好舉個例子...

第一種方法:用JLabel顯示圖片,此種方法圖片是一個UI控制項,通過布局管理器可放在面板的任意位置,一般用於較小的圖標顯示,圖片上不能再放置其它控制項。

第二種方法:在JPanel面板容器中將圖片繪制出來,可通過繪制坐標將圖片顯示在面板的任意位置,一般用於背景圖,圖片本身不是UI控制項,因此圖片上還可以放置其它控制項。

例子:
package net.miqiang.gui;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
* Java面板中顯示圖片的兩種常用方法
* @FileName: TestMain.java
* @Author: 米強 <轉載請保留作者與出處>
* @Blog: http://blog.csdn.net/mq612
* @Blog: http://hi..com/mq612/blog
*/
@SuppressWarnings("serial")
public class TestMain extends JFrame {

public TestMain() {
super("顯示圖片的兩種方法");
// JPanel面板容器,放置或繪制圖片用
JPanel pane = null;
// 獲取一個Image圖片對象,使用final修飾為了第二種方法的匿名類可以使用
final Image image = getToolkit().getImage("C:\\face.jpg");
{
// 將第二種方法的代碼塊全部注釋掉,可看到第一種方法顯示的圖片
// 第一種方法:用JLabel顯示圖片,此種方法圖片是一個UI控制項,通過布局管理器可放在面板的任意位置,一般用於較小的圖標顯示,圖片上不能再放置其它控制項。
// 通過圖片構造一個標簽對象
JLabel label = new JLabel(new ImageIcon(image));
// 構造JPanel面板
pane = new JPanel();
// 將標簽添加進面板容器
pane.add(label);
}
/*
{
// 將第一種方法的代碼塊全部注釋掉
// 第二種方法:在JPanel面板容器中將圖片繪制出來,可通過繪制坐標將圖片顯示在面板的任意位置,一般用於背景圖,圖片本身不是UI控制項,因此圖片上還可以放置其它控制項。
// 構造面板對象,由於要重寫其中的paintComponent方法,這里使用匿名類,相當於繼承了JPanel對象
pane = new JPanel(){
// 重寫面板的繪制方法
@Override
protected void paintComponent(Graphics g) {
// 調用父類的paintComponent方法
super.paintComponent(g);
// 使用Graphics繪制圖片
g.drawImage(image, 0, 0, this);
}
};
// 隨便添加一個按鈕控制項,該按鈕可以顯示在圖片上方,第一種方法則無法辦到。
pane.add(new JButton("按鈕可以出現在圖片上"));
}
*/
// 將面板添加進窗體的ContentPane中
getContentPane().add(pane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 400);
setLocationRelativeTo(null);
setVisible(true);
}

public static void main(String[] args) {
new TestMain();
}

}

⑵ 如何給JAVA GUI 窗口添加背景圖片


繼承PANEL重寫paintComponent方法,
這些控制添加在panel上,就不會出現你說的問題了。

重寫paint,會出現你說的問題
直接在窗體上添加了背景圖片也會出現你說的問題。

下邊是例子。

------------------------------------------------------------------------------------
import javax.swing.ImageIcon;

public class App extends JFrame {
private JTextField textField;

public App() {
getContentPane().setLayout(new BorderLayout(0, 0));

JPanel panel = new ImagePanel();
getContentPane().add(panel);
panel.setLayout(null);

JButton btnNewButton = new JButton("New button");
btnNewButton.setBounds(108, 234, 93, 23);
panel.add(btnNewButton);

textField = new JTextField();
textField.setBounds(214, 176, 96, 19);
panel.add(textField);
textField.setColumns(10);

setSize(460, 350);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

public static void main(String[] args) {
new App();
}

class ImagePanel extends JPanel {

protected void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon icon = new ImageIcon("D:\\1.jpg");
g.drawImage(icon.getImage(), 0, 0, null);

}

}
}

閱讀全文

與javagui加圖片相關的資料

熱點內容
公務員考試報名用什麼app好 瀏覽:98
灰燼使者升級路線 瀏覽:433
像素數據量怎麼算 瀏覽:721
遇見愛app怎麼進不去 瀏覽:705
java實現的文件監控管理 瀏覽:779
javagui加圖片 瀏覽:364
獲取jsp參數 瀏覽:86
什麼標簽可以指向網站 瀏覽:4
svn如何去除忽略文件夾 瀏覽:310
數據字的拼音怎麼寫 瀏覽:547
weblogic11部署文件夾 瀏覽:138
零用錢app怎麼樣 瀏覽:315
怎麼看後台直播數據在哪裡 瀏覽:863
哪些數據可以判斷一部網劇的好壞 瀏覽:985
ps廣告布列印一般是什麼文件 瀏覽:721
學習編程語言要下載個什麼軟體 瀏覽:539
編程視頻教程哪個好 瀏覽:693
編程教育用哪個平台 瀏覽:278
安卓系統改文件名稱 瀏覽:869
孩子學編程怎麼入手 瀏覽:137

友情鏈接