java中如何为JFrame设置背景图片,拜托给一个简单的实例。谢谢了。

java中如何为JFrame设置背景图片,拜托给一个简单的实例。谢谢了。,第1张

import java.awt.FlowLayout

import javax.swing.ImageIcon

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JLabel

import javax.swing.JPanel

public class bj {

private JFrame frame = new JFrame("背景图片测试")

private JPanel imagePanel

private ImageIcon background

public static void main(String[] args) {

new bj()

}

public bj() {

background = new ImageIcon("C:\\Users\\xin.wen\\Pictures\\2.jpg")// 背景图片

JLabel label = new JLabel(background)// 把背景图片显示在一个标签里面

// 把标签的大小位置设置为图片刚好填充整个面板

label.setBounds(0, 0, background.getIconWidth(),

background.getIconHeight())

// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

// 内容窗格默认的布局管理器为BorderLayout

imagePanel.setLayout(new FlowLayout())

imagePanel.add(new JButton("测试按钮"))

frame.getLayeredPane().setLayout(null)

// 把背景图片添加到分层窗格的最底层作为背景

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(background.getIconWidth(), background.getIconHeight())

frame.setResizable(false)

frame.setVisible(true)

}

}

//分少点,就给你个JFrame的例子吧。呵呵,善用搜索引擎。

import java.awt.event.*

import javax.swing.*

import java.awt.*

public class BackgroundImage extends JFrame

{

JScrollPane scrollPane

ImageIcon icon

Image image

public BackgroundImage()

{

icon = new ImageIcon("bgpanel.jpg")

JPanel panel = new JPanel()

{

protected void paintComponent(Graphics g)

{

// Dispaly image at at full size

g.drawImage(icon.getImage(), 0, 0, null)

// Scale image to size of component

//Dimension d = getSize()

//g.drawImage(icon.getImage(), 0, 0, d.width, d.height, null)

// Fix the image position in the scroll pane

//Point p = scrollPane.getViewport().getViewPosition()

//g.drawImage(icon.getImage(), p.x, p.y, null)

super.paintComponent(g)

}

}

panel.setOpaque( false )

panel.setPreferredSize( new Dimension(400, 400) )

scrollPane = new JScrollPane( panel )

getContentPane().add( scrollPane )

JButton button = new JButton( "Hello" )

panel.add( button )

}

public static void main(String [] args)

{

BackgroundImage frame = new BackgroundImage()

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(300, 300)

frame.setLocationRelativeTo( null )

frame.setVisible(true)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11555645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存