Java Swing中两种设置背景图(容器图片)
在java swing中需要为容器添加图片,或者背景图片。提供两种简单的解决方案,一种利用JPanel,另一种利用JLabel1.JPanel(源代码)[java] viewplaincopypackage oo; import java.awt.Graphics; import java.awt.Ima
·
在java swing中需要为容器添加图片,或者背景图片。
提供两种简单的解决方案,一种利用JPanel,另一种利用JLabel
1.JPanel(源代码)
- package oo;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.io.File;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class Drawing {
- JFrame jframe = new JFrame();
- public static JPanel GImage = null;
- public Drawing() {
- initFrame();
- }
- // 初始化窗口
- public void initFrame() {
- // 利用JPanel添加背景图片
- GImage = new JPanel() {
- protected void paintComponent(Graphics g) {
- ImageIcon icon = new ImageIcon("image\\benbenla.jpg");
- Image img = icon.getImage();
- g.drawImage(img, 0, 0, icon.getIconWidth(),
- icon.getIconHeight(), icon.getImageObserver());
- jframe.setSize(icon.getIconWidth(), icon.getIconHeight());
- }
- };
- jframe.setTitle("测试背景图片");
- jframe.add(GImage);
- jframe.pack();
- jframe.setVisible(true);
- jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public static void main(String[] args) {
- new Drawing();
- }
- }
2.JLabel源代码
- package swing.draw;
- import java.awt.Image;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- /** 利用JLabel来构建图片 */
- public class Drawing2 {
- JLabel jlpic = new JLabel();
- JFrame jframe = new JFrame();
- public Drawing2() {
- init1Frame();
- }
- public void init1Frame() {
- ImageIcon icon = new ImageIcon("image\\benbenla.jpg");
- icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),
- icon.getIconHeight(), Image.SCALE_DEFAULT));
- System.out.println(icon.getIconHeight() + "" + icon.getIconWidth());
- jlpic.setBounds(0, 0, 1366, 768);
- jlpic.setHorizontalAlignment(0);
- jlpic.setIcon(icon);
- jframe.setSize(1366, 768);
- jframe.add(jlpic);
- jframe.pack();
- jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jframe.setVisible(true);
- }
- public static void main(String args[]) {
- new Drawing2();
- }
- }
添加控件:
jlpic.setIcon(icon);
Container c = new Container();
JLabel user = new JLabel("用户:");
JLabel password = new JLabel("密码:");
JTextField txf_userName = new JTextField();
JPasswordField pwd_password = new JPasswordField()
{
public void paste(){
UIManager.getLookAndFeel().provideErrorFeedback(this);
}
};
user.setBounds(200,25,50,25);
password.setBounds(200,52,50,25);
txf_userName.setBounds(300,25,150,25);
pwd_password.setBounds(300,52,150,25);
c.add(user);
c.add(txf_userName);
c.add(password);
c.add(pwd_password);
c.add(jlpic);
jframe.setSize(1366, 768);
// jframe.add();
jframe.add(c);
更多推荐
已为社区贡献8条内容
所有评论(0)