package jdepend.framework.ui.util;
import java.awt.Component;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
public class JDependUIUtil {
public static Image getImage(String name) {
try {
return ImageIO.read(JDependUIUtil.class.getResourceAsStream("/image/" + name));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static File getSelectedFile(final String type, Component parent) {
JFileChooser pathChooser = new JFileChooser();
pathChooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
} else {
if (f.getName().toLowerCase().endsWith(type)) {
return true;
} else {
return false;
}
}
}
@Override
public String getDescription() {
return "文件格式(" + type + ")";
}
});
pathChooser.setSelectedFile(new File(type));
int showSaveDialog = pathChooser.showSaveDialog(parent);
if (showSaveDialog == JFileChooser.APPROVE_OPTION) {
return pathChooser.getSelectedFile();
} else {
return null;
}
}
public static void addClickTipEffect(final JComponent component) {
component.setForeground(new java.awt.Color(51, 51, 255));
component.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
component.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
component.setOpaque(true);
component.setBackground(new java.awt.Color(51, 51, 255));
component.setForeground(new java.awt.Color(255, 255, 255));
}
@Override
public void mouseExited(MouseEvent e) {
component.setOpaque(false);
component.setBackground(new java.awt.Color(255, 255, 255));
component.setForeground(new java.awt.Color(51, 51, 255));
}
});
}
}