Java对话框上显示图片

Java对话框上显示图片用了这个APIJOptionPane.showInputDialog(null,"吃了吗?","标题",0,newImageIcon("pictu... Java对话框上显示图片用了这个API
JOptionPane.showInputDialog(null, "吃了吗?", "标题", 0, new ImageIcon("picture/138361758979.jpg"), null, "默认值");

图片显示霸屏,怎么可以变小啊?比如下面那个
展开
 我来答
雪飞潇潇
2018-07-25 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:843万
展开全部

其实有很多种方法可以解决图片显示大小的问题:

  1. 使用photoshop修改. 优点是可以节省系统资源, 显示图片的时候,不用做处理,缺点是需要了解ps的基本操作

  2. 使用JDialog 自定义对话框. 优点 可以实现复杂的效果, 缺点,代码量比较多

  3. 使用ImageIcon, Image 类 实现图片的缩放,. 优点: 纯java代码解决, 缺点: 如果大量的图片需要缩放, 那么可能影响程序的速度.

方案3的代码如下

import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class Test {
public static void main(String[] args) {
ImageIcon icon = new ImageIcon("imgs/1.png"); // 得到icon对象 .注意我的图片地址和你的不一样,注意修改!!
Image image = icon.getImage(); //icon--->Image
float scale = 0.5f; //缩放比例 50%
int width = Math.round(icon.getIconWidth()*scale); // 变小 50%的宽
int height= Math.round(icon.getIconHeight()*scale);// 变小50%的高
Image miniIcon = image.getScaledInstance(width, height, Image.SCALE_SMOOTH);
// image 变成指定大小. 缩放模式为 SCALE_SMOOTH(平滑优先)
ImageIcon smallIcon = new ImageIcon(miniIcon);// Image--->icon
JOptionPane.showInputDialog(null, "吃了吗?", "标题", 0, smallIcon, null, "默认值");
}
}

效果图

图1 图片显示比例为原图的50%

图2 图片显示比例为原图的120%

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式