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)
}
}
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条)