
其实有很多种方法可以解决显示大小的问题:
使用photoshop修改 优点是可以节省系统资源, 显示的时候,不用做处理,缺点是需要了解ps的基本 *** 作
使用JDialog 自定义对话框 优点 可以实现复杂的效果, 缺点,代码量比较多
使用ImageIcon, Image 类 实现的缩放, 优点: 纯java代码解决, 缺点: 如果大量的需要缩放, 那么可能影响程序的速度
方案3的代码如下
import javaawtImage;import javaxswingImageIcon;
import javaxswingJOptionPane;
public class Test {
public static void main(String[] args) {
ImageIcon icon = new ImageIcon("imgs/1png"); // 得到icon对象 注意我的地址和你的不一样,注意修改!!
Image image = icongetImage(); //icon--->Image
float scale = 05f; //缩放比例 50%
int width = Mathround(icongetIconWidth()scale); // 变小 50%的宽
int height= Mathround(icongetIconHeight()scale);// 变小50%的高
Image miniIcon = imagegetScaledInstance(width, height, ImageSCALE_SMOOTH);
// image 变成指定大小 缩放模式为 SCALE_SMOOTH(平滑优先)
ImageIcon smallIcon = new ImageIcon(miniIcon);// Image--->icon
JOptionPaneshowInputDialog(null, "吃了吗?", "标题", 0, smallIcon, null, "默认值");
}
}
效果图
图1 显示比例为原图的50%
图2 显示比例为原图的120%
正好写了一个,给你看看哈
import javaawt;import javaawtimageBufferedImage;
import javaioFile;
import javautilDate;
import javaximageioImageIO;
public class ScreenCapturer {
public static void main(String[] args) throws Exception{
Date date = new Date();
Robot rbt = new Robot();
BufferedImage bf = rbtcreateScreenCapture(new Rectangle(1440,900)); //这是屏幕分辨率 可以根据自己的屏幕修改
File file = new File("d://"+ datetoString()replace(" ","")replace(":","")+"jpg"); //这是保存路径D盘根目录
ImageIOwrite(bf,"jpg",file);
Systemoutprintln("截图成功!保存于D盘根目录下!时间:" + datetoString());
}
}
显示效果图
eclipse里的目录如下
完整的代码和详细的注释
import javaawtBorderLayout;import javaawtevent;
import javaxswing;
//该窗口继承与JFrame 实现了ActionListener接口
public class MyFrame extends JFrame implements ActionListener {
JButton jbShow, jbHide;//定义按钮
JTextField jtf;//定义文本框
JLabel jl;
public MyFrame() {
JPanel jpn = new JPanel();
jpnadd(new JLabel("头像"));
jl= new JLabel(getImgIcon("0"));//指定默认的头像为第0个
jpnadd(jl);
add(jpn,BorderLayoutNORTH);
JPanel jpc = new JPanel();
for (int i = 0; i <6; i++) { //准备的就6张
JButton jb = new JButton();
jbsetIcon(getImgIcon(i+""));
jbaddActionListener(this);
jbsetActionCommand(""+i);
jpcadd(jb);
}
add(jpc,BorderLayoutCENTER);
setTitle("程序");// 窗口标题
setSize(900, 320);// 窗口大小 宽900 高320
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);// 当窗口关闭时,程序结束
}
public static void main(String[] args) {
new MyFrame()setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
//方法一:根据按钮顺序,获取,然后显示 ,也适合选择的是缩略图,显示的时候大图的情况,大图小图可以按照同一顺序排列
// String cmd = egetActionCommand();
// jlsetIcon(getImgIcon(cmd));
//方法二: 获取按钮上的,然后显示 适合按钮和显示头像,都是同样大小的情况
JButton jb = (JButton) egetSource();
jlsetIcon(jbgetIcon());
}
public ImageIcon getImgIcon(String index) {//根据顺序,获取图标
return new ImageIcon(thisgetClass()getResource("/img/"+index+"jpg"));
}
}
// 后台代码
list存储每张的fileid
针对每个file写输出流,写在单独的method中
// jsp侧
<c:foreach val="file" items="list">
<img src="getimageactionfileid" + "${filefileid}" />
</c:foreach>
以上就是关于Java对话框上显示图片全部的内容,包括:Java对话框上显示图片、跪求图片生成器java全代码,要求可以画图和获取屏幕并且能保存。拜托各位大神了、java怎样实现点击一个带图片按钮的,然后把按钮的图片显示在指定label上没财富值了,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)