62,614
社区成员
发帖
与我相关
我的任务
分享
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.*;
import java.io.*;
import java.sql.ResultSet;
import javax.swing.*;
public class ImageViewerServer extends JFrame{
JLabel l_id = new JLabel("编号:");
JLabel l_name = new JLabel("名称:");
JLabel l_filePath = new JLabel("路径:");
JLabel l_size = new JLabel("大小:");
JLabel l_type = new JLabel("种类:");
JLabel l_time = new JLabel("时间:");
JTextField id = new JTextField(10);
JTextField name = new JTextField(10);
JTextField filePath = new JTextField(10);
JTextField size = new JTextField(10);
JTextField type = new JTextField(10);
JTextField time = new JTextField(10);
JButton b_query = new JButton("查询");
JButton b_del = new JButton("删除");
JButton b_update = new JButton("更新");
JButton b_add = new JButton("增加");
JButton b_before = new JButton("上一个");
JButton b_next = new JButton("下一个");
JButton b_select = new JButton("选择目录");
ResultSet rst = null;
private ImagePanel mv;
//private ImageViewer1 outer=this;
public ImageViewerServer() {
super("Image Viewer 1.1");
mv = new ImagePanel();
Panel p1 = new Panel();
Panel p2 = new Panel();
p1.add(l_id);
p1.add(id);
p1.add(l_name);
p1.add(name);
p1.add(l_filePath);
p1.add(filePath);
p1.add(l_size);
p1.add(size);
p1.add(l_type);
p1.add(type);
p1.add(l_time);
p1.add(time);
p2.add(b_select);
p2.add(b_query);
p2.add(b_del);
p2.add(b_update);
p2.add(b_add);
p2.add(b_before);
p2.add(b_next);
add(mv,BorderLayout.CENTER);
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.SOUTH);
//setLayout(new FlowLayout(FlowLayout.CENTER));
b_query.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b_query) {
try {
rst = SqlDB.execQuery("select * from inf where id='"+id.getText().trim()+"'");
if(rst.next()) {
name.setText(rst.getString(2));
filePath.setText(rst.getString(3));
size.setText(rst.getString(4));
type.setText(rst.getString(5));
time.setText(rst.getString(6));
System.out.println("已查询");
}
} catch(Exception ex) {
System.out.println(ex.getMessage());
}
}
}
});
b_add.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b_add) {
try {
SqlDB.execUpdate("insert into inf values('"+
id.getText().trim()+"','"+
name.getText().trim()+"','"+
filePath.getText().trim()+"','"+
size.getText().trim()+"','"+
type.getText().trim()+"','"+
time.getText().trim()+"')");
System.out.println("insert into inf values('"+
id.getText().trim()+"','"+
name.getText().trim()+"','"+
filePath.getText().trim()+"','"+
size.getText().trim()+"','"+
type.getText().trim()+"','"+
time.getText().trim()+"')");
} catch(Exception ex) {
System.out.println(ex.getMessage());
}
}
}
});
b_update.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b_update) {
try {
SqlDB.execUpdate("update inf set name='" +
name.getText().trim()+
"' where id='" +id.getText().trim()+"'");
System.out.println("已更新");
} catch(Exception ex) {
System.out.println(ex.getMessage());
}
}
}
});
b_del.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b_del) {
SqlDB.execUpdate("delete from inf" +
" where id='"+id.getText().trim()+"'");
String fileName = "D:/temp/"+GetDate.getDate()+"_SJ"+id.getText().trim()+".jpg";
System.out.println("D:/temp/"+GetDate.getDate()+"_SJ"+id.getText().trim()+".jpg");
System.out.println(id.getText().trim());
File file = new File(fileName );
file.delete();
System.out.println("已删除");
}
}
});
b_next.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b_next) {
b_next.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
mv.setCurrent(mv.getCurrent()-1);
mv.repaint();
}
});
try {
rst = SqlDB.execQuery("select * from inf where id='"+ (Integer.parseInt(id.getText().trim())+1)+"'");
System.out.println("select * from inf where id='"+ (Integer.parseInt(id.getText().trim())+1)+"'");
if(rst.next()) {
id.setText(rst.getString(1));
name.setText(rst.getString(2));
filePath.setText(rst.getString(3));
size.setText(rst.getString(4));
type.setText(rst.getString(5));
time.setText(rst.getString(6));
System.out.println("下一条");
}
} catch(Exception ex) {
System.out.println(ex.getMessage());
}finally {
SqlDB.closeDB();
}
}
}
});
b_before.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b_before) {
b_before.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
mv.setCurrent(mv.getCurrent()+1);
mv.repaint();
}
});
try {
rst = SqlDB.execQuery("select * from inf where id='"+ (Integer.parseInt(id.getText().trim())-1)+"'");
System.out.println("select * from inf where id='"+ (Integer.parseInt(id.getText().trim())-1)+"'");
if(rst.next()) {
id.setText(rst.getString(1));
name.setText(rst.getString(2));
filePath.setText(rst.getString(3));
size.setText(rst.getString(4));
type.setText(rst.getString(5));
time.setText(rst.getString(6));
System.out.println("上一条");
}
} catch(Exception ex) {
System.out.println(ex.getMessage());
}finally {
SqlDB.closeDB();
}
}
}
});
b_select.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int returnValue = fileChooser.showOpenDialog(null);
File selectedFile=null;
if(returnValue==JFileChooser.APPROVE_OPTION) {
selectedFile=fileChooser.getSelectedFile();
}
if(selectedFile.isDirectory()){
mv.changDir(selectedFile);
} else {
File parentdir=selectedFile.getParentFile();
mv.changDir(parentdir,selectedFile);
}
}
});
}
public static void main(String[] args) {
ImageViewerServer myapp = new ImageViewerServer();
myapp.setSize(1000,600);
myapp.setVisible(true);
myapp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
ImageIcon imageIcon = new ImageIcon("c:\\123.jpg");
imageLabel.setIcon(imageIcon);// 设置图片到GUI上
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class ImagePanel extends JPanel {
private Image img;
private String imageFiles[];
private int current=0;
private int counts=0;
private File imageDir=null;
Toolkit mytool = Toolkit.getDefaultToolkit();
public ImagePanel() {
imageDir = new File(".");
changDir(imageDir);
}
public void changDir(File imageDir) {
current=0;
counts=0;
this.imageDir=imageDir;
String[] filenames=imageDir.list();
for(int i=0;i<filenames.length;i++) {
if( filenames[i].toLowerCase().endsWith(".jpg")||filenames[i].toLowerCase().endsWith(".jpg")
||filenames[i].toLowerCase().endsWith(".jpeg")||filenames[i].toLowerCase().endsWith(".tiff")
||filenames[i].toLowerCase().endsWith(".png")||filenames[i].toLowerCase().endsWith(".tif"))
counts++;
else
filenames[i]=null;
}
imageFiles=new String[counts];
for(int i=0,j=0;i<filenames.length;i++) {
if(filenames[i]!=null) {
imageFiles[j]=imageDir.getAbsolutePath()+"\\"+filenames[i];
j++;
}
}
repaint();
}
public void changDir(File imageDir, File selectedFile) {
this.imageDir=imageDir;
counts=0;
current=0;
String[] filenames = imageDir.list();
String selectedfilename = selectedFile.getName();
for(int i=0;i<filenames.length;i++) {
if( filenames[i].toLowerCase().endsWith(".jpg")||filenames[i].toLowerCase().endsWith(".jpg")
||filenames[i].toLowerCase().endsWith(".jpeg")||filenames[i].toLowerCase().endsWith(".tiff")
||filenames[i].toLowerCase().endsWith(".png")||filenames[i].toLowerCase().endsWith(".tif")) {
counts++;
if(filenames[i].equals(selectedfilename)) current=counts;
}
else {
filenames[i]=null;
}
}
System.out.println(filenames+","+filenames.length);
System.out.println("counts="+counts);
System.out.println(imageDir);
imageFiles=new String[counts];
for(int i=0,j=0;i<filenames.length;i++) {
if(filenames[i]!=null) {
imageFiles[j]=imageDir.getAbsolutePath()+"\\"+filenames[i];
j++;
}
}
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(counts==0) {
g.drawString("no image file", 20,20);
}
else {
img=mytool.getImage(imageFiles[current]);
g.drawImage(img,0,0,getSize().width,getSize().height,this);
}
}
public int getCurrent() {
return current;
}
public void setCurrent(int a) {
if(a>=0&&a<counts) current = a;
else if(a<0) current=0;
else current=counts-1;
}
public String getCurrentPath(){
return imageFiles[current];
}
}