java代码图片?java拼图用图片放在哪里
大家好,java代码图片相信很多的网友都不是很明白,包括java拼图用图片放在哪里也是一样,不过没有关系,接下来就来为大家分享关于java代码图片和java拼图用图片放在哪里的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
Java对话框上显示图片
其实有很多种方法可以解决图片显示大小的问题:
使用photoshop修改.优点是可以节省系统资源,显示图片的时候,不用做处理,缺点是需要了解ps的基本操作
使用JDialog自定义对话框.优点可以实现复杂的效果,缺点,代码量比较多
使用ImageIcon, Image类实现图片的缩放,.优点:纯java代码解决,缺点:如果大量的图片需要缩放,那么可能影响程序的速度.
方案3的代码如下
importjava.awt.Image;
importjavax.swing.ImageIcon;
importjavax.swing.JOptionPane;
publicclassTest{
publicstaticvoidmain(String[]args){
ImageIconicon=newImageIcon("imgs/1.png");//得到icon对象.注意我的图片地址和你的不一样,注意修改!!
Imageimage=icon.getImage();//icon--->Image
floatscale=0.5f;//缩放比例50%
intwidth=Math.round(icon.getIconWidth()*scale);//变小50%的宽
intheight=Math.round(icon.getIconHeight()*scale);//变小50%的高
ImageminiIcon=image.getScaledInstance(width,height,Image.SCALE_SMOOTH);
//image变成指定大小.缩放模式为SCALE_SMOOTH(平滑优先)
ImageIconsmallIcon=newImageIcon(miniIcon);//Image--->icon
JOptionPane.showInputDialog(null,"吃了吗?","标题",0,smallIcon,null,"默认值");
}
}效果图
图1图片显示比例为原图的50%
图2图片显示比例为原图的120%
java 写一段小代码
packageim01.hw.gsy;
importjava.awt.Dimension;
importjava.awt.Toolkit;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.io.File;
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
importjavax.swing.JToolBar;
importjavax.swing.KeyStroke;
publicclassJMenuDemo02{
publicstaticvoidmain(Stringargs[]){
JFramef=newJFrame("WelcomTogsh");
JTextAreatext=newJTextArea();
text.setEditable(true);
f.getContentPane().add(newJScrollPane(text));
JMenumenuFile=newJMenu("基本信息");
menuFile.setIcon(newImageIcon("e:软件图片"+File.separator+"文件夹打开.jpg"));
JMenuBarmenuBar=newJMenuBar();
JMenuItemnewItem=newJMenuItem("新建",newImageIcon("e:\\软件图片"+File.separator+"8.jpg"));
JMenuItemopenItem=newJMenuItem("打开",newImageIcon("e:\\软件图片"+File.separator+"1.jpg"));
JMenuItemcloseItem=newJMenuItem("关闭",newImageIcon("e:\\软件图片"+File.separator+"3.jpg"));
JMenuItemexitItem=newJMenuItem("退出",newImageIcon("e:\\软件图片"+File.separator+"4.jpg"));
JMenumenuFile1=newJMenu("进货管理");
menuFile1
.setIcon(newImageIcon("e:\\软件图片"+File.separator+"5.jpg"));
JMenuBarmenuBar1=newJMenuBar();
JMenuItemnewItem1=newJMenuItem("新建",newImageIcon("e:\\软件图片"+File.separator+"8.jpg"));
JMenuItemopenItem1=newJMenuItem("打开",newImageIcon("e:\\软件图片"+File.separator+"1.jpg"));
JMenuItemcloseItem1=newJMenuItem("关闭",newImageIcon("e:\\软件图片"+File.separator+"3.jpg"));
JMenuItemexitItem1=newJMenuItem("退出",newImageIcon("e:\\软件图片"+File.separator+"4.jpg"));
newItem.setMnemonic('N');
openItem.setMnemonic('O');
closeItem.setMnemonic('C');
exitItem.setMnemonic('E');
newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.ALT_MASK));
openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.ALT_MASK));
closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.ALT_MASK));
exitItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.ALT_MASK));
menuFile.add(newItem);
menuFile.addSeparator();
menuFile.add(openItem);
menuFile.addSeparator();
menuFile.add(closeItem);
menuFile.addSeparator();
menuFile.add(exitItem);
menuFile1.add(newItem1);
menuFile1.addSeparator();
menuFile1.add(openItem1);
menuFile1.addSeparator();
menuFile1.add(closeItem1);
menuFile1.addSeparator();
menuFile1.add(exitItem1);
menuBar.add(menuFile);
menuBar.add(menuFile1);
f.addWindowFocusListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(1);
}
});
f.setJMenuBar(menuBar);
//f.setJMenuBar(menuBar1);
f.setVisible(true);
Dimensiondim=Toolkit.getDefaultToolkit().getScreenSize();
f.setBounds(0,0,dim.width,dim.height-22);
f.setFocusable(true);
//f.setSize(300,200);
//
}
}这个可以不,图片路径自己加上去,可以不加,那就删了。列如删掉这些new ImageIcon("e:\\软件图片"+ File.separator+"8.jpg")这里有些我还设置了快捷键,你也可以参考下。
Java程序中图片的使用方法
使用图像根据需要,可以有多种方法。
如果是放在组件中,如JButton、JLabel中,这些组件需要的是Icon接口的图像,那么使用ImageIcon类来加载图像比较好,new
ImageIcon(String
filename)或new
ImageIcon(URL
location)都可以直接加载图像文件。
甚至你还可以先用IO读出byte流,也能用byte[]创建ImageIcon。还可以由已有的Image来创建。
更为高级的用法是,你还可以先创建个空的ImageIcon,然后重写paintIcon(Component,Graphics,int,int)方法实现手工绘制!
如果你是要完成图像绘制,那么使用Image或BufferedImage比较好。
Toolkit.getDefaultToolkit().getImage(String或URL)就能加载图像。
这种方法需要一个图像观察者来监视图像是否加载完成,因为图像加载是异步的。通常,你用一个swing组件就可以充当这个角色。不过少用JLabel,因为我有一个程序用JLabel做观察者CPU占用率经常90%多,有时不出界面。用JPanel或JFrame都没出过这个问题。从API文档看,应该是所有的swing可视组件都实现了观察者接口。
选了观察者后,不用刻意观察加载情况,很简单的一个方法:swing组件的while(!prepareImage(Image));就可以了。
Image接口是Graphics类绘图drawImage要用的,所以绘制时应该选这个。
BufferedImage是实现了Image接口的图像,可以直接操作像索数据!所以利用算法生成图像再绘制,或图像处理可以使用这种方法。如浮雕、反色等。
加载方法是ImageIO类的read方法。
关于java代码图片,java拼图用图片放在哪里的介绍到此结束,希望对大家有所帮助。