1 14 package org.compiere.grid.ed; 15 16 import java.awt.*; 17 import java.awt.event.*; 18 import javax.swing.*; 19 import java.io.*; 20 21 import org.compiere.apps.*; 22 import org.compiere.model.*; 23 import org.compiere.util.*; 24 import org.compiere.plaf.*; 25 import org.compiere.swing.*; 26 27 33 public class VImageDialog extends JDialog implements ActionListener 34 { 35 40 public VImageDialog (Frame owner, MImage mImage) 41 { 42 super (owner, Msg.translate(Env.getCtx(), "AD_Image_ID"), true); 43 Log.trace(Log.l1_User, "VImageDialog", "MImage=" + mImage); 44 m_mImage = mImage; 45 try 46 { 47 jbInit(); 48 } 49 catch(Exception ex) 50 { 51 Log.error("VImageDialog", ex); 52 } 53 fileButton.setText(m_mImage.getName()); 55 imageLabel.setIcon(m_mImage.getImage()); 56 AEnv.positionCenterWindow(owner, this); 57 } 59 60 private MImage m_mImage; 61 62 63 64 65 private CPanel mainPanel = new CPanel(); 66 private BorderLayout mainLayout = new BorderLayout(); 67 private CPanel parameterPanel = new CPanel(); 68 private CLabel fileLabel = new CLabel(); 69 private CButton fileButton = new CButton(); 70 private CLabel imageLabel = new CLabel(); 71 private ConfirmPanel confirmPanel = new ConfirmPanel(true); 72 73 77 void jbInit() throws Exception  78 { 79 CompiereColor.setBackground(this); 80 mainPanel.setLayout(mainLayout); 81 fileLabel.setText(Msg.getMsg(Env.getCtx(), "SelectFile")); 82 fileButton.setText("-/-"); 83 imageLabel.setBackground(Color.white); 84 imageLabel.setBorder(BorderFactory.createRaisedBevelBorder()); 85 imageLabel.setPreferredSize(new Dimension(50, 50)); 86 imageLabel.setHorizontalAlignment(SwingConstants.CENTER); 87 getContentPane().add(mainPanel); 88 mainPanel.add(parameterPanel, BorderLayout.NORTH); 89 parameterPanel.add(fileLabel, null); 90 parameterPanel.add(fileButton, null); 91 mainPanel.add(imageLabel, BorderLayout.CENTER); 92 mainPanel.add(confirmPanel, BorderLayout.SOUTH); 93 fileButton.addActionListener(this); 95 confirmPanel.addActionListener(this); 96 } 98 102 public void actionPerformed (ActionEvent e) 103 { 104 if (e.getSource() == fileButton) 105 cmd_file(); 106 107 else if (e.getActionCommand().equals(ConfirmPanel.A_OK)) 108 { 109 setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); 110 if (m_mImage.save()) 111 dispose(); 112 else 113 setCursor(Cursor.getDefaultCursor()); 114 } 115 116 else if (e.getActionCommand().equals(ConfirmPanel.A_CANCEL)) 117 dispose(); 118 } 120 123 private void cmd_file() 124 { 125 JFileChooser jfc = new JFileChooser(); 127 jfc.setMultiSelectionEnabled(false); 128 jfc.setFileSelectionMode(JFileChooser.FILES_ONLY); 129 jfc.showOpenDialog(this); 130 131 File imageFile = jfc.getSelectedFile(); 133 if (imageFile == null || imageFile.isDirectory() || !imageFile.exists()) 134 return; 135 136 try 138 { 139 ImageIcon image = new ImageIcon (imageFile.toURL()); 140 imageLabel.setIcon(image); 141 } 142 catch (Exception e) 143 { 144 Log.error("VImageDialog.cmd_file", e); 145 return; 146 } 147 148 fileButton.setText(imageFile.getAbsolutePath()); 150 pack(); 151 152 String fileName = imageFile.getAbsolutePath(); 154 m_mImage.setName(fileName); 155 m_mImage.setImageURL(fileName); 156 m_mImage.setImageFile(imageFile); 157 } 159 } | Popular Tags |