added image component

This commit is contained in:
bancika
2011-01-26 20:09:15 +00:00
parent a8ba97dc77
commit 51c916cbb5
10 changed files with 242 additions and 63 deletions
@@ -492,8 +492,9 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver {
@Override
public boolean drawImage(Image img, int x, int y, ImageObserver observer) {
// FIXME: map
return canvasGraphics.drawImage(img, x, y, observer);
boolean result = canvasGraphics.drawImage(img, x, y, observer);
appendShape(new Rectangle2D.Double(x, y, img.getWidth(observer), img.getHeight(observer)));
return result;
}
@Override
@@ -709,7 +709,7 @@ public class Presenter implements IPlugInPort {
controlPoints[index] = null;
}
}
System.out.println(Arrays.deepToString(controlPoints));
for (int i = 0; i < controlPoints.length - 1; i++) {
for (int j = i + 1; j < controlPoints.length; j++) {
if (controlPoints[i] != null && controlPoints[j] != null
@@ -3,6 +3,7 @@ package org.diylc.swing.gui.editor;
import java.awt.Color;
import java.awt.Component;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import org.apache.log4j.Logger;
@@ -26,6 +27,10 @@ public class FieldEditorFactory {
MeasureEditor editor = new MeasureEditor(property);
return editor;
}
if (ImageIcon.class.isAssignableFrom(property.getType())) {
ImageEditor editor = new ImageEditor(property);
return editor;
}
if (property.getType().isEnum()) {
EnumEditor editor = new EnumEditor(property);
return editor;
@@ -0,0 +1,44 @@
package org.diylc.swing.gui.editor;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import org.diylc.common.PropertyWrapper;
import org.diylc.swing.gui.DialogFactory;
import org.diylc.swing.plugins.file.FileFilterEnum;
public class ImageEditor extends JButton {
private static final long serialVersionUID = 1L;
public ImageEditor(final PropertyWrapper property) {
super("Click to load file");
addActionListener(new ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent e) {
File file = DialogFactory.getInstance().showOpenDialog(
FileFilterEnum.IMAGES.getFilter(), null,
FileFilterEnum.IMAGES.getExtensions()[0], null);
if (file != null) {
ImageIcon image = new ImageIcon(file.getAbsolutePath());
property.setValue(image);
}
}
});
}
@Override
public void setBackground(Color bg) {
if (bg.getRed() < 127 || bg.getBlue() < 127 || bg.getGreen() < 127) {
setForeground(Color.white);
} else {
setForeground(Color.black);
}
super.setBackground(bg);
}
}
@@ -4,11 +4,12 @@ import java.io.File;
import javax.swing.filechooser.FileFilter;
enum FileFilterEnum {
public enum FileFilterEnum {
PNG("PNG Images (*.png)", "png"), PDF("PDF Files (*.pdf)", "pdf"), DIY(
"DIY Project Files (*.diy)", "diy"), EXCEL("Excel Workbooks (*.xls)", "xls"), CSV(
"Comma Separated Files (*.csv)", "csv"), HTML("HTML Files (*.html)", "html");
"Comma Separated Files (*.csv)", "csv"), HTML("HTML Files (*.html)", "html"), IMAGES(
"Image Files (*.png, *.jpg, *.gif)", "png", "jpg", "gif");
FileFilter filter;
String[] extensions;