导航:首页 > 编程语言 > javagui加图片

javagui加图片

发布时间:2025-08-27 01:37:43

java 面板上显示图片的语句怎么写,最好举个例子...

第一种方法:用JLabel显示图片,此种方法图片是一个UI控件,通过布局管理器可放在面板的任意位置,一般用于较小的图标显示,图片上不能再放置其它控件。

第二种方法:在JPanel面板容器中将图片绘制出来,可通过绘制坐标将图片显示在面板的任意位置,一般用于背景图,图片本身不是UI控件,因此图片上还可以放置其它控件。

例子:
package net.miqiang.gui;

import java.awt.Graphics;
import java.awt.Image;

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

/**
* Java面板中显示图片的两种常用方法
* @FileName: TestMain.java
* @Author: 米强 <转载请保留作者与出处>
* @Blog: http://blog.csdn.net/mq612
* @Blog: http://hi..com/mq612/blog
*/
@SuppressWarnings("serial")
public class TestMain extends JFrame {

public TestMain() {
super("显示图片的两种方法");
// JPanel面板容器,放置或绘制图片用
JPanel pane = null;
// 获取一个Image图片对象,使用final修饰为了第二种方法的匿名类可以使用
final Image image = getToolkit().getImage("C:\\face.jpg");
{
// 将第二种方法的代码块全部注释掉,可看到第一种方法显示的图片
// 第一种方法:用JLabel显示图片,此种方法图片是一个UI控件,通过布局管理器可放在面板的任意位置,一般用于较小的图标显示,图片上不能再放置其它控件。
// 通过图片构造一个标签对象
JLabel label = new JLabel(new ImageIcon(image));
// 构造JPanel面板
pane = new JPanel();
// 将标签添加进面板容器
pane.add(label);
}
/*
{
// 将第一种方法的代码块全部注释掉
// 第二种方法:在JPanel面板容器中将图片绘制出来,可通过绘制坐标将图片显示在面板的任意位置,一般用于背景图,图片本身不是UI控件,因此图片上还可以放置其它控件。
// 构造面板对象,由于要重写其中的paintComponent方法,这里使用匿名类,相当于继承了JPanel对象
pane = new JPanel(){
// 重写面板的绘制方法
@Override
protected void paintComponent(Graphics g) {
// 调用父类的paintComponent方法
super.paintComponent(g);
// 使用Graphics绘制图片
g.drawImage(image, 0, 0, this);
}
};
// 随便添加一个按钮控件,该按钮可以显示在图片上方,第一种方法则无法办到。
pane.add(new JButton("按钮可以出现在图片上"));
}
*/
// 将面板添加进窗体的ContentPane中
getContentPane().add(pane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 400);
setLocationRelativeTo(null);
setVisible(true);
}

public static void main(String[] args) {
new TestMain();
}

}

⑵ 如何给JAVA GUI 窗口添加背景图片


继承PANEL重写paintComponent方法,
这些控制添加在panel上,就不会出现你说的问题了。

重写paint,会出现你说的问题
直接在窗体上添加了背景图片也会出现你说的问题。

下边是例子。

------------------------------------------------------------------------------------
import javax.swing.ImageIcon;

public class App extends JFrame {
private JTextField textField;

public App() {
getContentPane().setLayout(new BorderLayout(0, 0));

JPanel panel = new ImagePanel();
getContentPane().add(panel);
panel.setLayout(null);

JButton btnNewButton = new JButton("New button");
btnNewButton.setBounds(108, 234, 93, 23);
panel.add(btnNewButton);

textField = new JTextField();
textField.setBounds(214, 176, 96, 19);
panel.add(textField);
textField.setColumns(10);

setSize(460, 350);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

public static void main(String[] args) {
new App();
}

class ImagePanel extends JPanel {

protected void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon icon = new ImageIcon("D:\\1.jpg");
g.drawImage(icon.getImage(), 0, 0, null);

}

}
}

阅读全文

与javagui加图片相关的资料

热点内容
公务员考试报名用什么app好 浏览:98
灰烬使者升级路线 浏览:433
像素数据量怎么算 浏览:721
遇见爱app怎么进不去 浏览:705
java实现的文件监控管理 浏览:779
javagui加图片 浏览:364
获取jsp参数 浏览:86
什么标签可以指向网站 浏览:4
svn如何去除忽略文件夹 浏览:310
数据字的拼音怎么写 浏览:547
weblogic11部署文件夹 浏览:138
零用钱app怎么样 浏览:315
怎么看后台直播数据在哪里 浏览:863
哪些数据可以判断一部网剧的好坏 浏览:985
ps广告布打印一般是什么文件 浏览:721
学习编程语言要下载个什么软件 浏览:539
编程视频教程哪个好 浏览:693
编程教育用哪个平台 浏览:278
安卓系统改文件名称 浏览:869
孩子学编程怎么入手 浏览:137

友情链接