先贴我自己写的代码
public class MyPanel extends Panel {
private static Toolkit tk = Toolkit.getDefaultToolkit();
private static Image image = tk.getImage(MyPanel.class.
getClassLoader().getResource("Images/背景1.PNG"));
private static boolean init = false;
public MyPanel(){
}
public void paint(Graphics g){
//System.out.println("======");
//if(init == false){
//g.drawImage(image,0,0,null);
//init = true;
//}
g.drawImage(image, 0, 0, null);
}
}
注释的地方满足是修改过了的 但是还是有错每次当我运行的时候图片都不会显示 但是最小化了后 图片就显示了有没有什么办法是Frame 一产生的时候就显示呢 还有就是我拿一个我用图片做背景 Lable不是透明的 是空的
public class MyPanel extends Panel {
private static Toolkit tk = Toolkit.getDefaultToolkit();
private static Image image = tk.getImage(MyPanel.class.
getClassLoader().getResource("Images/背景1.PNG"));
private static boolean init = false;
public MyPanel(){
}
public void paint(Graphics g){
//System.out.println("======");
//if(init == false){
//g.drawImage(image,0,0,null);
//init = true;
//}
g.drawImage(image, 0, 0, null);
}
}
注释的地方满足是修改过了的 但是还是有错每次当我运行的时候图片都不会显示 但是最小化了后 图片就显示了有没有什么办法是Frame 一产生的时候就显示呢 还有就是我拿一个我用图片做背景 Lable不是透明的 是空的
import java.awt.*;
import javax.imageio.*;
import java.io.*;
import javax.swing.*;
public class MyPanel extends JFrame {
private static Image image;
private static boolean init = false;
public static void main(String args[]) {
MyPanel mp = new MyPanel();
mp.setVisible(true);
mp.setSize(400,400);
mp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public MyPanel(){
try {
image = ImageIO.read(new File("j2me.jpg"));
}catch (Exception e) { }} public void paint(Graphics g){
g.drawImage(image, 0, 0, null);
}
}
Jlabel 可以带图标(ImageIcon)。 我将影像 "earth" 的黑颜色背景改成透明的背景, 制成另一个影像(存为 png 格式)。
然后用这两个影像分别制成两个标签。结果显示,有透明背景的图标,在某种意义上,让标签部分(背景部分)成为透明。标签文字部分的背景,尚无法搞成透明。import java.awt.*;
import javax.swing.*;
public class transparent extends JFrame { private JLabel label1, label2;
private static boolean init = false; public static void main(String args[]) {
transparent mp = new transparent();
mp.setVisible(true);
mp.setSize(400,400);
mp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public transparent(){
super("实验透明标签");
Container container = getContentPane();
container.setLayout(new FlowLayout()); Icon noTrans=new ImageIcon("earth.jpg");
Icon Trans = new ImageIcon("earth.png");
label1 = new JLabel("不透明");
label2 = new JLabel("透明");
label1.setIcon(noTrans);
label2.setIcon(Trans);
container.add(label1);
container.add(label2);
}
}