通过以下方式设置下背景就可以了:
background = new ImageIcon("images/backImage.png")
backImage = new JLabel(background)
backImage.setBounds(0, 0, background.getIconWidth(),
background.getIconHeight())
backPanel = (JPanel) this.getContentPane()
backPanel.setOpaque(false)
this.getLayeredPane().setLayout(null)
this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE))
backPanel.setLayout(new BorderLayout())
这样就可以把图片放在最下面了,效果图:
import javax.swing.*
import java.awt.*
/**
* @author Hardneedl
*/
final class PictureBackgroundFrame extends JFrame {
public String getTitle() {return "frame title"}
static private final Dimension size = new Dimension(600, 400)
public Dimension getPreferredSize() {return size}
public Dimension getMaximumSize() {return size}
public Dimension getMinimumSize() {return size}
public Dimension getSize() {return size}
private static final Image image = Toolkit.getDefaultToolkit().getImage("b.JPG")
private static final JComponent canvas = new JComponent(){
protected void paintComponent(Graphics g) {
super.paintComponent(g)
Graphics gg = g.create()
gg.drawImage(image,0,0,getWidth(),getHeight(),this)
gg.dispose()
}
}
PictureBackgroundFrame() throws HeadlessException {
attachListeners()
doLay()
}
private void attachListeners() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
}
private void doLay() {
Container container = getContentPane()
container.add(canvas)
pack()
setVisible(true)
}
public static void main(String[] args) {new PictureBackgroundFrame()}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)