new ImageIcon(这里放入图像文件的路径)//此为创建一个对象
getIconWidth()设置图像宽度
getIconHeight()设置图像长度
还有更多的对图片的操作方法,可查看API文档。
下面是加入图片的简单效果源码:package Swing02
import javax.swing.*
import java.awt.*
import java.awt.event.*
public class TestIcon {
public TestIcon(){
JFrame jf=new JFrame("加入图片练习")
JPanel jp=new JPanel()
Icon ic=new ImageIcon("C:\\Documents and Settings\\tarena\\桌面\\牵手1.jpg")
JLabel jl=new JLabel(ic,JLabel.CENTER)
JButton jb=new JButton(ic)
GridLayout gl=new GridLayout(3,3)
String[] pos=new String[9]
for(int i=0i<pos.lengthi++){
JButton jb1=new JButton()
jp.add(jb1)
jb1.setIcon(ic)
}
jf.add(jp)
jp.setLayout(gl)
//jf.add(jl)
//jf.add(jb)
jf.setLocation(300,200)//设置出现位置
jf.setSize(300,200)//设置大小
jf.setResizable(true)//设置窗口大小不可变
jf.setVisible(true)//设置可见(必须放在最后)
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
}
public static void main(String[] args) {
new TestIcon()
}
}
关于图片的布局,可把图片加入到JLabel中,然后用布局管理器对JLabel进行布局就好了。
你可以尝试下面两种方法:
获取JPanel的画布,用drawImage方法把图片画在JPanel上
新建个JLabel,用setIcon方法设置JLabel的图片,再添加进JPanel
filechooser可以参考一下这段代码
private void openImage(){
JFileChooser jfc=new JFileChooser(".")
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY)
FileNameExtensionFilter filter1 = new FileNameExtensionFilter("*.png", "png")
FileNameExtensionFilter filter2 = new FileNameExtensionFilter("*.jpg", "jpg")
FileNameExtensionFilter filter3 = new FileNameExtensionFilter("*.jpeg", "jpeg")
jfc.addChoosableFileFilter(filter1)
jfc.addChoosableFileFilter(filter2)
jfc.addChoosableFileFilter(filter3)
jfc.setAcceptAllFileFilterUsed(false)
jfc.setFileFilter(filter1)
int returnVal = jfc.showOpenDialog(MainFrame.this)
if(returnVal == JFileChooser.APPROVE_OPTION)
{
File file = jfc.getSelectedFile()
try {
image = ImageIO.read(file) //image 是BufferedImage
} catch (IOException e1) {
e1.printStackTrace()
}
jl.setIcon(new ImageIcon(image.getScaledInstance(jl.getWidth(), jl.getHeight(), Image.SCALE_DEFAULT))) //JLabel jl
}
}
图片管理--肯定离不开增添改查图片(类别,描述,名称,所属者,评论等)的基本信息,根据这些东西去设计数据库或者其他存储方式
下面考虑数据库存储
1.添加图片--(这里设计到图片存储的问题)
a. 可以把图片存在特定的文件夹,在数据库保存相对路径;
b. 可以把图片直接以二进制的方式保存在数据库。
2. 修改,删除--没什么特别的东西,可能设计到权限的问题
3. 查--(按分类、时间等来进行查询即可,看有什么样的需求吧)