java 背景图片

窗口加载一个图片做为背景,简单就是这样简单。

import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ImgJframeTest {
 private JFrame jframe;
 private JButton jbutton;
 private JPanel jpanel;
 
 public ImgJframeTest(){
  jframe = new JFrame();
  jbutton = new JButton();
 
  init();
 }
 
 private void init(){
  jpanel = new JPanel(){
   @Override
   protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    ImageIcon img = new ImageIcon(ImgJframeTest.class.getResource("
\\img\\2.jpg"));
    img.paintIcon(this, g, 0, 0);
   }
  };
  jbutton.setText("我是个按钮,嘿嘿!");
  jpanel.add(jbutton);
  jpanel.setOpaque(true);
  jframe.add(jpanel);
 }
 
 public void showMe(){
  jframe.setSize(600, 400);
  jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jframe.setVisible(true);
 }

 public static void main(String[] args) {
   new ImgJframeTest().showMe();
 }
}

 

Java中设置背景图片可以使用JPanel和JLabel组件。具体步骤如下: 1. 导入所需的类库: ``` import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JPanel; ``` 2. 创建一个JPanel组件并设置其布局方式为null: ``` JPanel panel = new JPanel(null); ``` 3. 加载图片并创建一个ImageIcon对象: ``` ImageIcon imageIcon = new ImageIcon("imagePath"); ``` 4. 创建一个JLabel组件并将ImageIcon对象添加到该组件中: ``` JLabel label = new JLabel(imageIcon); ``` 5. 设置JLabel组件的大小和位置: ``` label.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight()); ``` 6. 将JLabel组件添加到JPanel中: ``` panel.add(label); ``` 7. 重写JPanel组件的paintComponent方法,在该方法中绘制背景图片: ``` @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Image image = imageIcon.getImage(); g.drawImage(image, 0, 0, this); } ``` 完整代码示例: ``` import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class BackgroundPanel extends JPanel { private ImageIcon imageIcon; public BackgroundPanel() { super(null); imageIcon = new ImageIcon("imagePath"); JLabel label = new JLabel(imageIcon); label.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight()); add(label); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Image image = imageIcon.getImage(); g.drawImage(image, 0, 0, this); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); frame.setLocationRelativeTo(null); frame.setContentPane(new BackgroundPanel()); frame.setVisible(true); } } ``` 其中,"imagePath"为背景图片的路径,可以根据实际情况修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值