僅僅是給窗口添加背景的話是很簡(jiǎn)單的,添加上以下語(yǔ)句(自己去添加變量哈):
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括柯橋網(wǎng)站建設(shè)、柯橋網(wǎng)站制作、柯橋網(wǎng)頁(yè)制作以及柯橋網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,柯橋網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到柯橋省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
label = new JLabel(background); //background為ImageIcon
// 把標(biāo)簽的大小位置設(shè)置為圖片剛好填充整個(gè)面板
label.setBounds(0, 0, this.getWidth(), this.getHeight());
//添加圖片到frame的第二層(把背景圖片添加到分層窗格的最底層作為背景)
this.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));
//把內(nèi)容窗格轉(zhuǎn)化為JPanel,否則不能用方法setOpaque()來(lái)使內(nèi)容窗格透明
jPanel=(JPanel)this.getContentPane();
//設(shè)置透明
jPanel.setOpaque(false);
然后你上面那個(gè)JPanel p也設(shè)置成透明就可以了
//不就是在窗口上設(shè)置一個(gè)背景圖片么?怎么那么多不同的聲音?
//代碼如下 運(yùn)行就看到結(jié)果了,你準(zhǔn)備好個(gè)圖片 放到當(dāng)前路徑里就可以了
import java.util.*;
import javax.swing.*;
public class Test extends JFrame {
private JPanel pan;
private JLabel labName;
private JTextField tfName;
private JLabel labPass;
private JPasswordField tfPass;
private JButton butConfirm;
private ImageIcon ii;
private JLabel lab;
Test(){
this.setBounds(200, 200, 300, 200);
pan = new JPanel();
labName = new JLabel("用戶名");
tfName = new JTextField(20);
labPass = new JLabel("密 碼");
tfPass = new JPasswordField(20);
butConfirm = new JButton("SAVE");
pan.add(labName);
pan.add(tfName);
pan.add(labPass);
pan.add(tfPass);
pan.add(butConfirm);
ii = new ImageIcon("1.jpg");//你只需要把這里的圖片1.jpg給改了就可以了
lab = new JLabel(ii);
lab.setBounds(0, 0,ii.getIconWidth(), ii.getIconHeight());
this.getLayeredPane().setLayout(null);
this.getLayeredPane().add(lab, new Integer(Integer.MIN_VALUE));
this.setContentPane(pan);
pan.setOpaque(false);
this.setVisible(true);
}
public static void main(String args[]){
new Test();
}
}
如果是普通切換的話,直接定義一個(gè)int值,根據(jù)int值的不同 來(lái)畫不同的東西就可以了\x0d\x0aint index;\x0d\x0aswitch(index){\x0d\x0a case 0:\x0d\x0a g.drawImage(a,0,0,20); \x0d\x0a break;\x0d\x0a case 1:\x0d\x0a g,drawImage(b,0,0,20);\x0d\x0a break;\x0d\x0a .................................\x0d\x0a}\x0d\x0a \x0d\x0a如果用漸變效果的話,創(chuàng)建一個(gè)數(shù)組記錄下一張要話的圖片的所有RGB值,初始設(shè)置所有像素點(diǎn)的透明度為100%,即完全透明,然后一點(diǎn)點(diǎn)的把透明度降低,直到為0,這樣就把第二章圖片用漸變的方法繪制出來(lái)了,這時(shí)就可以不用畫第一張圖片了。
xml文件設(shè)置背景圖片中:
任意一個(gè)控件,button imageView 或layout,在其的xml屬性設(shè)置中,添加
[java] android:background="@drawable/bg"
即可實(shí)現(xiàn)設(shè)置其背景圖片為bg.
其中bg.bnp圖片存放在drawable目錄下。
drawable目錄下存放大小圖標(biāo)共用的圖片。drawable-hdpi中存放240 WVGA800 的模擬器或板子用的圖片。drawable-mdpi存放對(duì)應(yīng)的小圖片
[java] ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/pic"/
同樣,用src屬性,也可設(shè)置imageView的圖片為pic.png
--------------------------------------------------------------------------------
java代碼中設(shè)置或更改一個(gè)控件的背景圖片:
[java] Resources resources = getContext().getResources();
Drawable btnDrawable = resources.getDrawable(R.drawable.layout_bg);
layout.setBackgroundDrawable(btnDrawable);
程序中,動(dòng)態(tài)修改layout的背景圖片,用setBackgroundDrawable()函數(shù)實(shí)現(xiàn)。設(shè)置其背景圖片為 layout_bg.png
修改imageView1的背景圖片為imageView2的背景圖片:
imageView2.getDrawable()可獲得圖片2的背景。值為Drawable類型
imageView1.setImageDrawable(drawable); 設(shè)置imageView1的背景圖片
即:
[java] imageView1.setImageDrawable(imageView2.getDrawable());
重載渲染控件的paintComponent(Graphics
g)方法.
設(shè)你當(dāng)前圖像實(shí)例為img,已初始化,需要旋轉(zhuǎn)的角度為ang
public
void
paintComponent(Graphics
g){
super.paintCompoent(g);
Graphics2D
g2d
=
(Graphics2D)g;
g2d.rotate(-angle);
g2d.drawImage(img,0,0,this.getWidth(),this.getHeight(),null);
}
Graphics,Graphics2D
類中有對(duì)當(dāng)前描繪環(huán)境進(jìn)行仿射變換的方法,包括translate,scale,rotate,也可以直接設(shè)置仿射變換矩陣,利用這點(diǎn)就可以根據(jù)所需要的實(shí)現(xiàn)方式來(lái)進(jìn)行描繪.
很簡(jiǎn)單。
可以手寫IO讀寫(有點(diǎn)麻煩)。
怕麻煩的話使用FileUpload組件 在servlet里doPost嵌入一下代碼
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html;charset=gb2312");
PrintWriter out=response.getWriter();
//設(shè)置保存上傳文件的目錄
String uploadDir =getServletContext().getRealPath("/up");
System.out.println(uploadDir);
if (uploadDir == null)
{
out.println("無(wú)法訪問(wèn)存儲(chǔ)目錄!");
return;
}
//根據(jù)路徑創(chuàng)建一個(gè)文件
File fUploadDir = new File(uploadDir);
if(!fUploadDir.exists()){
if(!fUploadDir.mkdir())//如果UP目錄不存在 創(chuàng)建一個(gè) 不能創(chuàng)建輸出...
{
out.println("無(wú)法創(chuàng)建存儲(chǔ)目錄!");
return;
}
}
if (!DiskFileUpload.isMultipartContent(request))
{
out.println("只能處理multipart/form-data類型的數(shù)據(jù)!");
return ;
}
DiskFileUpload fu = new DiskFileUpload();
//最多上傳200M數(shù)據(jù)
fu.setSizeMax(1024 * 1024 * 200);
//超過(guò)1M的字段數(shù)據(jù)采用臨時(shí)文件緩存
fu.setSizeThreshold(1024 * 1024);
//采用默認(rèn)的臨時(shí)文件存儲(chǔ)位置
//fu.setRepositoryPath(...);
//設(shè)置上傳的普通字段的名稱和文件字段的文件名所采用的字符集編碼
fu.setHeaderEncoding("gb2312");
//得到所有表單字段對(duì)象的集合
List fileItems = null;
try
{
fileItems = fu.parseRequest(request);//解析request對(duì)象中上傳的文件
}
catch (FileUploadException e)
{
out.println("解析數(shù)據(jù)時(shí)出現(xiàn)如下問(wèn)題:");
e.printStackTrace(out);
return;
}
//處理每個(gè)表單字段
Iterator i = fileItems.iterator();
while (i.hasNext())
{
FileItem fi = (FileItem) i.next();
if (fi.isFormField()){
String content = fi.getString("GB2312");
String fieldName = fi.getFieldName();
request.setAttribute(fieldName,content);
}else{
try
{
String pathSrc = fi.getName();
if(pathSrc.trim().equals("")){
continue;
}
int start = pathSrc.lastIndexOf('\\');
String fileName = pathSrc.substring(start + 1);
File pathDest = new File(uploadDir, fileName);
fi.write(pathDest);
String fieldName = fi.getFieldName();
request.setAttribute(fieldName, fileName);
}catch (Exception e){
out.println("存儲(chǔ)文件時(shí)出現(xiàn)如下問(wèn)題:");
e.printStackTrace(out);
return;
}
finally //總是立即刪除保存表單字段內(nèi)容的臨時(shí)文件
{
fi.delete();
}
}
}
注意 JSP頁(yè)面的form要加enctype="multipart/form-data" 屬性, 提交的時(shí)候要向服務(wù)器說(shuō)明一下 此頁(yè)面包含文件。
如果 還是麻煩,干脆使用Struts 的上傳組件 他對(duì)FileUpload又做了封裝,使用起來(lái)更傻瓜化,很容易掌握。
-----------------------------
以上回答,如有不明白可以聯(lián)系我。
網(wǎng)站名稱:java設(shè)置圖片代碼實(shí)現(xiàn),java圖片操作
URL標(biāo)題:http://chinadenli.net/article34/heejpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、定制開(kāi)發(fā)、企業(yè)網(wǎng)站制作、域名注冊(cè)、虛擬主機(jī)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)