Re: Java background image question
not@real.com wrote:
Hi, this is my first time posting so i hope this works correctly. I've been
googling for a while now,
and i'm trying to find a way to add a background image to this panel I made.
I was able to do it by adding a button:
======================================================
//panel class
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class instructionsPanel extends JPanel implements ActionListener
{
background b1;
public instructionsPanel()
{
b1 = new background();
b1.setBounds(0, 0, 800, 500);
add(b1);
b1.addBackground();
setLayout(null);
setSize(800, 600);
setBackground(Color.black);
and so on....
}
//background class
import java.awt.*;
import javax.swing.*;
public class background extends JButton
{
public background()
{
super();
}
String addBackground()
{
ImageIcon image1 = new ImageIcon("instructions.jpg");
setIcon(image1);
return "";
}
}
======================================================
but i really don't like how the button's border flashes when the mouse
hovers
over it so i was wondering if anyone could help me with the code to just add
an
image to the background of the panel? Thanks for your time
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class JImagePanel extends JPanel {
private BufferedImage image;
private boolean scale;
public JImagePanel(String fname) throws IOException {
image = ImageIO.read(new File(fname));
setPreferredSize(new
Dimension(image.getWidth(),image.getHeight()));
}
public JImagePanel(BufferedImage image) {
this.image = image;
setPreferredSize(new
Dimension(image.getWidth(),image.getHeight()));
}
public JImagePanel(BufferedImage image, int width, int height) {
this.image = image;
setPreferredSize(new Dimension(width,height));
}
public JImagePanel(BufferedImage image, int width, int height,
boolean scale) {
this(image,width,height);
this.scale = scale;
}
public void setImage(BufferedImage image) {
this.image = image;
repaint();
}
public void paintComponent(Graphics g) {
if (scale)
g.drawImage(image,0,0,getWidth(),getHeight(),this);
else
g.drawImage(image,0,0,this);
}
}
--
Knute Johnson
email s/nospam/knute/