i 绝望

依然

Miss Lang

java添加背景图片

总结:我们通常实现添加背景图片很容易,但是再添加按钮组件就会覆盖图片。原因是:

有先后啊。setlayout();与布局有很大关系

请调试代码的时候,仔细揣摩。我晕了

还可以添加文本框,密码框

frame.getcontantpane().add(new JPasswordField(15));

  

frame.getcontantpane().add(new JButton(""3424));

frame.getcontantpane().add(new JTextFiled(32));

  

import javax.swing.JFrame;
import java.awt.Container;
import java.awt.FlowLayout;
//添加按钮。按钮不覆盖背景
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.BorderLayout;

public class cd {

	public static void main(String[] args) {
		JFrame frame = new JFrame();
		Container c = new Container();
		ImageIcon image = new ImageIcon("D:\\21.jpg");
		JLabel imagelabel = new JLabel(image);
		imagelabel.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());
		frame.getLayeredPane().add(imagelabel, new Integer(Integer.MIN_VALUE));
		// ((JPanel)frame.getContentPane()).setOpaque(false);
		// ((JPanel)c).setOpaque(false);
		JPanel panel = (JPanel) frame.getContentPane();// 面板窗格化
		panel.setOpaque(false);
		// 一下是很重要的两行。
		panel.setLayout(new FlowLayout());// 这里需要重新排列位置//一定要排在JPanel的后面,否则组件被覆盖
		panel.add(new JButton("fsa"));// 添加按钮组件
		frame.getContentPane().add(new JButton("娃娃"));
		frame.getContentPane().add(new JButton("lll"));
		frame.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());
		frame.setVisible(true);
		// 默人是网格布局、不排列位置,组件会填充整个容器
		// frame.setLayout(null);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

  

posted on 2013-11-20 21:35  juewang  阅读(1946)  评论(0编辑  收藏  举报

绝望依然

Miss Lang