① JAVA界面設計怎麼插入背景圖片
可以利用標簽組件來設置。
② Java用什麼方法可以設置一張圖片為背景,然後還可以在這張圖片上面放置其它圖片
用多個內容面板可以嗎?
可以,
如果是Panel 重寫 paint方法
如果是JPanel 重寫 paintComponents方法
@Override
public void paintComponents(Graphics g) {
super.paintComponents(g);
g.drawImage(image, i, j, imageobserver);
}
類似這樣。
在這個背景Panel 上添加別一個Panel 就可以了。
上面這個我有例子,昨天給一個人解決了。就是用這個方法
http://..com/question/418177363.html?oldq=1
還有另一個方法,
你可以取得背景圖片的 Graphics 對象,可以直接在這上面畫。
③ java怎麼設置插入圖片大小
用Image中的getScaledInstance方法得到一個按照指定寬度和高度縮放以後的Image實例,然後再用setImage方法設置ImageIcon所顯示的圖像。
④ java怎麼給窗體或者面板設置背景圖片
import javax.swing.*;
import javax.imageio.*;
import java.awt.*;
import java.io.*;
public class AddImage {
public static void main(String[] args){
new AddImageFrame();
}
}
class AddImageFrame extends JFrame{
public AddImageFrame(){
super("添加背景圖片");
setBounds(200,200,500,400);
setDefaultCloseOperation(this.EXIT_ON_CLOSE);
setVisible(true);
AddImagePanel aip= new AddImagePanel();
add(aip);
}
}
class AddImagePanel extends JPanel{
private Image backgroundimage=null;
public void paintComponent(Graphics g){
super.paintComponent(g);
try{
backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);
}catch(IOException e){
e.printStackTrace();
}
g.drawImage(backgroundimage,0,0,null);
image.flush();
}
}
這是設置背景圖片的簡單代碼 你要的主要是 backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);
javax.image包裡面有一個類 ImageIO有一個方法read(File string) 讀取一個圖片文件返回image對象,File會拋出異常,awt包裡面的Image有個方法 getScaledstance(width,height,hints) 是縮放圖片到多大,intnts是縮放的演算法,取Image欄位常量,有很多鍾演算法,你可以取一種,這個程序里圖片的大小取的是容納它的panel面板的大小,會隨著面板的變化充滿整個面板,這個變化過程要調用面板的 paintComponent()方法來監視,Graphics 中的drawImage(x,y,observer)方法來實現,observer是安全管理器,可以為null,最後繪畫完後刷新就可以了,希望對你有幫助,俺也是初學者,交流為上 ,不過我個人還是認為下面的方法比較好
public void setBak() { //設置窗口背景
((JPanel) this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon(getClass().getResource("picture/http_imgload.jpg"));
JLabel background = new JLabel(img);
this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
}構造器調用這個方法圖片不會縮放,上面的例子 不用縮放的方法也可以做到,就看怎麼看了
⑤ java 載入圖片的幾種方式
第一種方法:
Image bg; //或者是BufferedImage bg;
Pool2(){
try{
String file="圖片的路徑";
bg =ImageIO.read(new File(file));
}catch(Exception e){
e.printStackTrace();
}
}
第二種方法:這種方法用BufferedReader就不行
Image background;
Pool2(){
try{
String file="文件的路徑";
background=Toolkit.getDefaultToolkit().getImage(file);
}catch(Exception e){
e.printStackTrace();
}
}
另外我們有時喜歡把圖片放在工程的src目錄下這樣訪問這些圖片時就要用下面的方法。以src下的image文件下的01.jpg為例
Image image=null;
image = ImageIO.read(getClass().getResourceAsStream("/image/01.jpg"));
⑥ Java窗體如何設置背景圖片急求!!
可以新建個面板,在面板里放入帶圖片的JLabel,填滿面板即可。
JPanel jp = new JPanel(); //新建面板
jp.setLayout(new FlowLayout()); //設置面板布局
ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"));
JLabel uppicture=new JLabel(ii); //往面板里加入JLabel
this.setVisible(true);
⑦ java為標簽設置圖片
Framef=newFrame();
f.setTitle("設置圖片");
f.setSize(400,300);
/*讀取要顯示的圖片*/
finalImageimg=ImageIO.read(newFile("D:/1.jpg"));
/*重寫panel的繪制方法*/
Panelpanel=newPanel(){
=1L;
@Override
publicvoidpaint(Graphicsg){
super.paint(g);
g.drawImage(img,0,0,400,300,null);
}
};
/*添加panel標簽*/
f.add(panel);
/*添加關閉操作監聽*/
f.addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
/*顯示窗體*/
f.setVisible(true);
可以通過重寫標簽的繪制方法來實現
⑧ Java程序中圖片的使用方法
使用圖像根據需要,可以有多種方法。
如果是放在組件中,如JButton、JLabel中,這些組件需要的是Icon介面的圖像,那麼使用ImageIcon類來載入圖像比較好,new
ImageIcon(String
filename)或new
ImageIcon(URL
location)都可以直接載入圖像文件。
甚至你還可以先用IO讀出byte流,也能用byte[]創建ImageIcon。還可以由已有的Image來創建。
更為高級的用法是,你還可以先創建個空的ImageIcon,然後重寫paintIcon(Component,Graphics,int,int)方法實現手工繪制!
如果你是要完成圖像繪制,那麼使用Image或BufferedImage比較好。
Toolkit.getDefaultToolkit().getImage(String或URL)就能載入圖像。
這種方法需要一個圖像觀察者來監視圖像是否載入完成,因為圖像載入是非同步的。通常,你用一個swing組件就可以充當這個角色。不過少用JLabel,因為我有一個程序用JLabel做觀察者CPU佔用率經常90%多,有時不出界面。用JPanel或JFrame都沒出過這個問題。從API文檔看,應該是所有的swing可視組件都實現了觀察者介面。
選了觀察者後,不用刻意觀察載入情況,很簡單的一個方法:swing組件的while(!prepareImage(Image));就可以了。
Image介面是Graphics類繪圖drawImage要用的,所以繪制時應該選這個。
BufferedImage是實現了Image介面的圖像,可以直接操作像索數據!所以利用演算法生成圖像再繪制,或圖像處理可以使用這種方法。如浮雕、反色等。
載入方法是ImageIO類的read方法。
⑨ java程序中如何設置圖片大小
用Image中的getScaledInstance方法得到一個按照指定寬度和高度縮放以後的Image實例,然後再用setImage方法設置ImageIcon所顯示的圖像
一下示例:
import javax.swing.*;
import java.awt.*;
public class test extends JFrame
{
private ImageIcon img;
private JLabel showImg;
private final static int WIDTH=147;
private final static int HEIGHT=136;
public test()
{
img=new ImageIcon("1.png");
img.setImage(img.getImage().getScaledInstance(test.WIDTH,test.HEIGHT,Image.SCALE_DEFAULT));
showImg=new JLabel();
showImg.setIcon(img);
this.add(showImg,BorderLayout.CENTER);
this.setBounds(300,200,400,300);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String args[])
{
new test();
}
}
⑩ java面板如何添加圖片
你是說 JPanel 嗎?兩種方法:
添加 JLabel,給 JLabel 添加 ImageIcon,然後放置 JLabel 到 JPanel 上就行了:
JPanel pnl = new JPanel();
......
JLabel lblImage = new JLabel(new ImageIcon("你的文件名")); //創建一個帶圖片的 JLabel
lblImage.setBounds(0, 0, pnl.getWidth(), pnl.getHeight()); //設置 圖片的橫坐標、縱坐標、寬、高
pnl.add(lblImage); //放置這個 JLabel 到你的 JPanel 上面
還有一種方法是重寫 JPanel 的 paint() 方法:
class YourPanel extends JPanel {
private Image img = Toolkit.getDefaultToolkit().createImage("你的文件名"); //用 Toolkit 的 createImage 方法來創建一個 Image 對象
@Override public void paint (Graphics g) {
super.paint(g);
g.drawImage(img, 0, 0, getWidth(), getHeight()); //繪制圖片,第一個參數是 Image 對象,第二個參數是 橫坐標,第三個是 縱坐標,第四個是 寬,第五個是 高
}
}
以上你隱式重寫也可以:
JPanel pnl = new JPanel() {
@Override public void paint (Graphics g) {
...... //但是要注意這樣如果你把 Image 聲明成了局部變數或者參數形式,你需要聲明成 final
}
}