KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > compiere > grid > ed > VImageDialog


1 /******************************************************************************
2  * The contents of this file are subject to the Compiere License Version 1.1
3  * ("License"); You may not use this file except in compliance with the License
4  * You may obtain a copy of the License at http://www.compiere.org/license.html
5  * Software distributed under the License is distributed on an "AS IS" basis,
6  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
7  * the specific language governing rights and limitations under the License.
8  * The Original Code is Compiere ERP & CRM Business Solution
9  * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
10  * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
11  * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
12  * Contributor(s): ______________________________________.
13  *****************************************************************************/

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 /**
28  * Image Dialog
29  *
30  * @author Jorg Janke
31  * @version $Id: VImageDialog.java,v 1.5 2002/08/12 01:55:14 danb Exp $
32  */

33 public class VImageDialog extends JDialog implements ActionListener
34 {
35     /**
36      * Constructor
37      * @param owner
38      * @param mImage
39      */

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 JavaDoc ex)
50         {
51             Log.error("VImageDialog", ex);
52         }
53         // load data
54
fileButton.setText(m_mImage.getName());
55         imageLabel.setIcon(m_mImage.getImage());
56         AEnv.positionCenterWindow(owner, this);
57     } // VImageDialog
58

59     /** Image Model */
60     private MImage m_mImage;
61
62     /** @todo Display existing Images from MImage */
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     /**
74      * Static Init
75      * @throws Exception
76      */

77     void jbInit() throws Exception JavaDoc
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         //
94
fileButton.addActionListener(this);
95         confirmPanel.addActionListener(this);
96     } // jbInit
97

98     /**
99      * ActionListener
100      * @param e
101      */

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     } // actionPerformed
119

120     /**
121      * Load file & display
122      */

123     private void cmd_file()
124     {
125         // Show File Open Dialog
126
JFileChooser jfc = new JFileChooser();
127         jfc.setMultiSelectionEnabled(false);
128         jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
129         jfc.showOpenDialog(this);
130
131         // Get File Name
132
File imageFile = jfc.getSelectedFile();
133         if (imageFile == null || imageFile.isDirectory() || !imageFile.exists())
134             return;
135
136         // See if we can load & display it
137
try
138         {
139             ImageIcon image = new ImageIcon (imageFile.toURL());
140             imageLabel.setIcon(image);
141         }
142         catch (Exception JavaDoc e)
143         {
144             Log.error("VImageDialog.cmd_file", e);
145             return;
146         }
147
148         // OK
149
fileButton.setText(imageFile.getAbsolutePath());
150         pack();
151
152         // Save info
153
String JavaDoc fileName = imageFile.getAbsolutePath();
154         m_mImage.setName(fileName);
155         m_mImage.setImageURL(fileName);
156         m_mImage.setImageFile(imageFile);
157     } // cmd_file
158

159 } // VImageDialog
160
Popular Tags