正文
java代码的壁纸,java程序员手机壁纸
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Android Button的背景图片通过java代码实现
把图片放到你的res/drawable下,起个名字叫my_image.png,然后用你的button。setBackgroundResource(R.drawable.my_image);就可以了
java中如何设置背景图片
1 利用标签组件来设置
标签本来是一种最简单的组件,为什么可以将它设置成为一个窗体的背景呢?首先还是要了解框架JFrame中的层次结构。JFrame中的层次分布及相对关系是:最底层是JRootPane,第二层是JlayerPane,最上层就是ContentPane,也正是我们常说的内容面板。所以一般我们拖放的控件就是在ContentPane层上。也就是说我们只需将背景图片放在JFrame的第二层是JlayerPane上,再把内容面板ContentPane设置为透明,则第二层JlayerPane上放置的图片即成为内容面板的背景了。具体代码如下:
JPanelpnlMain=new JPanel(); //创建面板pnlMain。
getContentPane().add(pnlMain); //将pnlMain设置为主面板。
Iconi=new ImageIcon("背景.jpg"); /*用源图片“背景.jpg”构造一个ImageIcon对象i,需要注意如果图片的路径使用的是相对路径,则图片文件必须放在类文件所在文件夹或项目的根文件夹中,否则图片的路径必须用绝对路径。*/
JLabellblLogo = new JLabel(i); //用指定的图片构造标签对象lb
this.getLayeredPane().add(lb, new Integer(Integer.MIN_VALUE));
//把标签放在第二层JlayerPane上。
lb.setBounds(0, 0,ii.getIconWidth(),i.getIconHeight());
//设置标签的尺寸,即背景图象的大小。
getConentPane().setOpaque(false); /*把内容面板设置为透明,这样整个框架的背景就不再是内容面板的背景色,而是第二层中标签的图像。*/
pnlMain.add(lb); //将标签添加到主面板pnlMain中。
用标签组件JLabel来设置窗体背景,其扩展性上比较差,且在标签上不能放置其他组件,比如:在放置一个JButton,整个布局背景图就错乱。导致这种现象是因为Java加载组件是有顺序的,作为背景的JLabel的代码一定要放在全部组件代码的最后,这样JLabel的背景图片才不会被其他组件遮住,从而使整个布局背景错乱。所以采用这种方式来设置窗体背景有很大的局限性。因此最好是采用以下方式来设置窗体背景。
2 通过JPanel面板来设置窗体背景
JPanel面板是Java中的容器之一。而Java中的容器是没有背景图片的属性的,它们只有背景颜色,如果需要在JPanel面板上设置窗体背景,就需要重写paintComponent(Graphics g)方法,即把所要设置的背景图片画上作为JPanel面板的背景。具体实现如下:
首先定义一个JPanel的子类BjPanel,由于JPanel的构造方法不能添加图像,因此在创建此子类的时候先用getImage载入一幅背景图片,在重写paintComponent(Graphics g)方法时,利用drawImage方法将其逐渐绘制到屏幕上,并将该面板添加到框架中,最后将该面板设置为透明。其代码如下:
import java.awt.*;
import javax.swing.*;
public class bkground
{
public static void main(String args[])
{
BjFramef=newBjFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class BjFrame extends JFrame
{
public BjFrame()
{
setSize(WTH,HHT);
BjPanel pl=new BjPanel();
Container contentPane=getContentPane();
contentPane.add(pl);
pl. setOpaque(true);
}
public static final int WTH=300;
public static final int HHT=200;
}
class BjPanel extends JPanel
{
Image im;
public BjPanel()
{
im=Toolkit.getDefaultToolkit().getImage("背景.jpg");//需要注意的是如果用相对路径载入图片,则图片文件必须放在类文件所在文件夹或项目的根文件夹中,否则必须用绝对路径。
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int imWidth=image.getWidth(this);
Int imHeight=image.getHeight(this); //定义图片的宽度、高度
int FWidth=getWidth();
int FHeight=getHeight();//定义窗口的宽度、高度
int x=(FWidth-imWidth)/2;
int y=(FHeight-imHeight)/2;//计算图片的坐标,使图片显示在窗口正中间
g.drawImage(image,x,y,null);//绘制图片
}
}
怎么为Java程序添加背景图片代码?
仅仅是给窗口添加背景的话是很简单的,添加上以下语句(自己去添加变量哈):\x0d\x0a\x0d\x0alabel = new JLabel(background); //background为ImageIcon\x0d\x0a// 把标签的大小位置设置为图片刚好填充整个面板 \x0d\x0alabel.setBounds(0, 0, this.getWidth(), this.getHeight());\x0d\x0a//添加图片到frame的第二层(把背景图片添加到分层窗格的最底层作为背景)\x0d\x0athis.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));\x0d\x0a//把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明\x0d\x0ajPanel=(JPanel)this.getContentPane();\x0d\x0a//设置透明\x0d\x0ajPanel.setOpaque(false);\x0d\x0a\x0d\x0a然后你上面那个JPanel p也设置成透明就可以了
Android开发设置锁屏壁纸
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
File file = new File("mnt/sdcard2/DCIM/Camera/IMG_20120216_160054.jpg");
Intent intent = createSetAsIntent(Uri.fromFile(file),null);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(intent, "设置壁纸"));
//
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public static Intent createSetAsIntent(Uri uri, String mimeType) {
// Infer MIME type if missing for file URLs.
if (uri.getScheme().equals("file")) {
String path = uri.getPath();
int lastDotIndex = path.lastIndexOf('.');
if (lastDotIndex != -1) {
mimeType = MimeTypeMap.getSingleton()
.getMimeTypeFromExtension(
uri.getPath().substring(lastDotIndex + 1)
.toLowerCase());
}
}
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.setDataAndType(uri, mimeType);
intent.putExtra("mimeType", mimeType);
return intent;
}
Java中如何给GUI添加背景图片,要求详细的代码,谢谢啦
package test.array;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Login implements ActionListener {
public static void main(String args[]) {
new Login().face();
}
public void face() {
JFrame jf;
JLabel j1, j2;
JTextField jtf;
JPasswordField jd;
JButton jb1, jb2;
//JPanel p1, p2, p3;
jf = new JFrame("登陆窗口");
j1 = new JLabel("用户名");
j2 = new JLabel("密 码");
jtf = new JTextField(15);
jd = new JPasswordField(15);
jb1 = new JButton("确定");
jb2 = new JButton("取消");
// p1 = new JPanel();
// p2 = new JPanel();
// p3 = new JPanel();
JPanel p = new JPanel() {
private static final long serialVersionUID = 1L;
@Override
protected void paintComponent(Graphics g) {
try {
BufferedImage img = ImageIO.read(new File(this.getClass().getResource("1.jpg").getPath()));
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), null);
} catch (IOException e) {
e.printStackTrace();
}
}
};
p.setLayout(null);
//p.add(p1);
//p.add(p2);
//p.add(p3);
j1.setBounds(50, 10, 60, 20);
p.add(j1);
jtf.setBounds(120, 10, 120, 20);
p.add(jtf);
j2.setBounds(50, 40, 60, 20);
p.add(j2);
jd.setBounds(120, 40, 120, 20);
p.add(jd);
jb1.setBounds(80, 70, 60, 20);
p.add(jb1);
jb2.setBounds(160, 70, 60, 20);
p.add(jb2);
jf.add(p);
jb1.addActionListener(this);
jb2.addActionListener(this);
jf.setBounds(300, 200, 280, 160);
jf.setResizable(false);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if (s.equals("确定")) {
} else {
System.exit(0);
}
}
}
Android 如何通过java代码把已知路径的图片设置为RelativeLayout的背景???
xml文件设置背景图片中:
任意一个控件,button imageView 或layout,在其的xml属性设置中,添加
[java] android:background="@drawable/bg"
即可实现设置其背景图片为bg.
其中bg.bnp图片存放在drawable目录下。
drawable目录下存放大小图标共用的图片。drawable-hdpi中存放240 WVGA800 的模拟器或板子用的图片。drawable-mdpi存放对应的小图片
[java] ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/pic"/
同样,用src属性,也可设置imageView的图片为pic.png
--------------------------------------------------------------------------------
java代码中设置或更改一个控件的背景图片:
[java] Resources resources = getContext().getResources();
Drawable btnDrawable = resources.getDrawable(R.drawable.layout_bg);
layout.setBackgroundDrawable(btnDrawable);
程序中,动态修改layout的背景图片,用setBackgroundDrawable()函数实现。设置其背景图片为 layout_bg.png
修改imageView1的背景图片为imageView2的背景图片:
imageView2.getDrawable()可获得图片2的背景。值为Drawable类型
imageView1.setImageDrawable(drawable); 设置imageView1的背景图片
即:
[java] imageView1.setImageDrawable(imageView2.getDrawable());