21xrx.com
2024-12-23 00:51:49 Monday
登录
文章检索 我的文章 写文章
使用Java添加图片到GUI应用程序中
2023-06-12 20:13:05 深夜i     --     --
Java GUI应用程序 JLabel JPanel Graphics2D 图片

在GUI应用程序中添加图片可以让窗口变得更加丰富和有趣。Java提供了多种方法来添加和显示图片。本文将介绍如何在Java的GUI应用程序中添加图片,并提供一些简单的代码示例。

一、使用JLabel添加图片

JLabel是Java自带的一个标签组件,可以用来显示文本和图片。下面是一个示例代码,演示如何在JFrame中添加一个JLabel并显示一张图片:


import javax.swing.*;

import java.awt.*;

public class AddImageToGUI {

  public static void main(String[] args) {

    JFrame frame = new JFrame("Add Image to GUI");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(400,400);

    // 创建一个标签组件,并添加到窗口中

    ImageIcon imageIcon = new ImageIcon("picture.jpg");

    JLabel imageLabel = new JLabel(imageIcon);

    frame.getContentPane().add(imageLabel);

    frame.setVisible(true);

  }

}

二、使用JPanel添加图片

JPanel是一个轻量级容器,它可以用来保存和组织其他组件。通过在JPanel中添加一个JLabel组件,可以显示一张图片。下面是一个示例代码:


import javax.swing.*;

import java.awt.*;

public class AddImageToGUI {

  public static void main(String[] args) {

    JFrame frame = new JFrame("Add Image to GUI");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(400,400);

    // 创建一个面板组件,并添加到窗口中

    JPanel panel = new JPanel();

    panel.setBackground(Color.WHITE);

    // 创建一个标签组件,并添加到面板中

    ImageIcon imageIcon = new ImageIcon("picture.jpg");

    JLabel imageLabel = new JLabel(imageIcon);

    panel.add(imageLabel);

    frame.getContentPane().add(panel);

    frame.setVisible(true);

  }

}

三、使用Graphics2D绘制图片

除了使用组件来显示图片,还可以使用Graphics2D类来绘制图片。下面是一个示例代码:


import javax.swing.*;

import java.awt.*;

import java.awt.geom.Rectangle2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

public class AddImageToGUI {

  public static void main(String[] args) {

    JFrame frame = new JFrame("Add Image to GUI");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(400,400);

    // 绘制一张图片,并添加到窗口中

    BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);

    Graphics2D g2 = image.createGraphics();

    g2.setPaint(Color.RED);

    Rectangle2D rect = new Rectangle2D.Double(0, 0, 200, 200);

    g2.fill(rect);

    g2.dispose();

    ImageIcon imageIcon = new ImageIcon(image);

    JLabel imageLabel = new JLabel(imageIcon);

    frame.getContentPane().add(imageLabel);

    frame.setVisible(true);

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复