KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ebay > client > ViewItemDetails


1 /*
2  * ViewItemDetails.java
3  *
4  * Created on August 3, 2006, 9:37 PM
5  */

6
7 package ebay.client;
8
9 /**
10  *
11  * @author Elancheran
12  */

13 import ebay.apis.*;
14
15 public class ViewItemDetails extends javax.swing.JFrame JavaDoc {
16     
17     private java.awt.image.BufferedImage JavaDoc image = null;
18     private String JavaDoc itemDetailString;
19     private String JavaDoc itemId;
20     private String JavaDoc[] details = new String JavaDoc[5];
21     private String JavaDoc[] values = new String JavaDoc[5];
22     private String JavaDoc desc;
23     
24     /** Creates new form NewDetailsFrame */
25     public ViewItemDetails(String JavaDoc itemId, ItemType item) {
26         super();
27         
28         String JavaDoc currency = null;
29         this.itemId = itemId;
30        
31         setTitle("Item Id: "+itemId);
32         
33         if( item.getTitle() != null) {
34             itemDetailString = item.getTitle();
35             //System.out.println("Found item: " + itemDetailString);
36
}
37         if (item.getPictureDetails() != null) {
38             //System.out.println("Picture url is " + item.getPictureDetails().getGalleryURL());
39
try {
40                 java.net.URL JavaDoc url = new java.net.URL JavaDoc(item.getPictureDetails().getGalleryURL());
41                 image = javax.imageio.ImageIO.read(url);
42             }catch(java.io.IOException JavaDoc ie) {
43                 //ie.printStackTrace();
44
//System.out.println("Image not found!!!");
45
image = null;
46             }
47         }
48         if(item.getCurrency() != null) {
49             //System.out.println("Currency: " + item.getCurrency().value());
50
currency = item.getCurrency().value();
51         }
52         if (item.getDescription() != null) {
53             //System.out.println("Description: " + item.getDescription());
54
desc = item.getDescription();
55         }
56         int i=0;
57         if (item.getBestOfferDetails() != null) {
58             //System.out.println("Current bid: " + item.getBestOfferDetails());
59
details[i] = "Current Bid: ";
60             if( currency != null){
61                 values[i] = currency + " " +
62                         String.valueOf(item.getBestOfferDetails().getBestOffer()
63                         .getValue());
64             } else {
65                    values[i] = String.valueOf(item.getBestOfferDetails()
66                    .getBestOffer().getValue());
67              }
68             i++;
69         }
70         
71         if (item.getBuyItNowPrice() != null) {
72             details[i] = "Buy it Now: ";
73             //System.out.println("Buy it now: " + item.getBuyItNowPrice().getValue());
74
values[i] = String.valueOf(item.getBuyItNowPrice().getValue());
75             if( currency != null )
76                  values[i] = values[i] + " " + currency;
77             i++;
78         }
79         
80         if(item.getTimeLeft()!= null) {
81             //System.out.println("End Time: " + item.getTimeLeft().toString());
82
details[i] ="End Time: ";
83            
84             String JavaDoc timeLeft = "";
85             if(item.getTimeLeft().getDays() != 0) {
86                 timeLeft = item.getTimeLeft().getDays() + " Days ";
87             }
88             if(item.getTimeLeft().getHours() != 0)
89                 timeLeft = timeLeft + item.getTimeLeft().getHours() + " Hrs ";
90             if(item.getTimeLeft().getMinutes() != 0)
91                 timeLeft = timeLeft + item.getTimeLeft().getMinutes() + " Mins ";
92             if(item.getTimeLeft().getSeconds() != 0)
93                 timeLeft = timeLeft + item.getTimeLeft().getSeconds() + " Secs ";
94               
95             values[i] = timeLeft;
96             i++;
97         }
98         if(item.getQuantity() != null) {
99             //System.out.println("Quantity: " + item.getQuantity());
100
details[i] ="Quantity: ";
101             values[i] = String.valueOf(item.getQuantity());
102             i++;
103         }
104        
105          if(item.getLocation() != null) {
106             //System.out.println("Location: " + item.getLocation());
107
details[i] ="Location: ";
108             values[i] = item.getLocation();
109          }
110         
111         initComponents();
112         setVisible(true);
113     }
114         
115     public void initComponents(){
116          mainPanel = new javax.swing.JPanel JavaDoc();
117         headerPanel = new javax.swing.JPanel JavaDoc();
118         itemDetailsLabel = new javax.swing.JLabel JavaDoc();
119         itemIdLabel = new javax.swing.JLabel JavaDoc();
120         detailsPanel = new javax.swing.JPanel JavaDoc();
121         priceLabel = new javax.swing.JLabel JavaDoc();
122         amoutLabel = new javax.swing.JLabel JavaDoc();
123         jSeparator1 = new javax.swing.JSeparator JavaDoc();
124         detailLabel1 = new javax.swing.JLabel JavaDoc();
125         valueLabel1 = new javax.swing.JLabel JavaDoc();
126         detailLabel2 = new javax.swing.JLabel JavaDoc();
127         valueLabel2 = new javax.swing.JLabel JavaDoc();
128         detailLabel3 = new javax.swing.JLabel JavaDoc();
129         valueLabel3 = new javax.swing.JLabel JavaDoc();
130         detailLabel4 = new javax.swing.JLabel JavaDoc();
131         valueLabel4 = new javax.swing.JLabel JavaDoc();
132         jSeparator2 = new javax.swing.JSeparator JavaDoc();
133         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
134         descriptionPane = new javax.swing.JTextPane JavaDoc();
135         
136         descriptionPane.setEditable(false);
137
138         if(image != null) {
139             imagePanel = new javax.swing.JPanel JavaDoc(){
140                 public void processComponentEvent(java.awt.event.ComponentEvent JavaDoc ce) {
141                     super.processComponentEvent(ce);
142                     if (ce.getID() == java.awt.event.ComponentEvent.COMPONENT_RESIZED) {
143                         repaint();
144                     }
145                 }
146                 
147                 public void paintComponent(java.awt.Graphics JavaDoc g) {
148                     super.paintComponent(g);
149                     g.drawImage(image,0,0, this.getWidth(), this.getHeight(), this);
150                 }
151             };
152         } else {
153             imagePanel = new javax.swing.JPanel JavaDoc();
154         }
155         
156         initComponentsData();
157         
158         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
159         setResizable(false);
160         
161         itemDetailsLabel.setFont(new java.awt.Font JavaDoc("Verdana", 1, 12));
162         itemIdLabel.setFont(new java.awt.Font JavaDoc("Verdana", 0, 12));
163         
164         javax.swing.GroupLayout JavaDoc headerPanelLayout = new javax.swing.GroupLayout JavaDoc(headerPanel);
165         headerPanel.setLayout(headerPanelLayout);
166         headerPanelLayout.setHorizontalGroup(
167             headerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
168             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, headerPanelLayout.createSequentialGroup()
169                 .addContainerGap()
170                 .addComponent(itemDetailsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
171                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
172                 .addComponent(itemIdLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE)
173                 .addContainerGap())
174         );
175         headerPanelLayout.setVerticalGroup(
176             headerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
177             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, headerPanelLayout.createSequentialGroup()
178                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
179                 .addGroup(headerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
180                     .addComponent(itemIdLabel)
181                     .addComponent(itemDetailsLabel))
182                 .addContainerGap())
183         );
184
185         imagePanel.setBackground(new java.awt.Color JavaDoc(255, 255, 204));
186         javax.swing.GroupLayout JavaDoc imagePanelLayout = new javax.swing.GroupLayout JavaDoc(imagePanel);
187         imagePanel.setLayout(imagePanelLayout);
188         imagePanelLayout.setHorizontalGroup(
189             imagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
190             .addGap(0, 150, Short.MAX_VALUE)
191         );
192         imagePanelLayout.setVerticalGroup(
193             imagePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
194             .addGap(0, 166, Short.MAX_VALUE)
195         );
196
197         priceLabel.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
198         amoutLabel.setFont(new java.awt.Font JavaDoc("Verdana", 1, 11));
199         jSeparator1.setForeground(new java.awt.Color JavaDoc(255, 255, 255));
200         detailLabel1.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
201         valueLabel1.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
202         detailLabel2.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
203         valueLabel2.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
204         detailLabel3.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
205         valueLabel3.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
206         detailLabel4.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
207         valueLabel4.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
208         jSeparator2.setForeground(new java.awt.Color JavaDoc(255, 255, 255));
209         descriptionPane.setFont(new java.awt.Font JavaDoc("Verdana", 0, 11));
210         descriptionPane.setBackground(new java.awt.Color JavaDoc(236,233,216));
211         jScrollPane1.setViewportView(descriptionPane);
212
213         javax.swing.GroupLayout JavaDoc detailsPanelLayout = new javax.swing.GroupLayout JavaDoc(detailsPanel);
214         detailsPanel.setLayout(detailsPanelLayout);
215         detailsPanelLayout.setHorizontalGroup(
216             detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
217             .addGroup(detailsPanelLayout.createSequentialGroup()
218                 .addComponent(imagePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
219                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
220                 .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
221                     .addGroup(detailsPanelLayout.createSequentialGroup()
222                         .addComponent(priceLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
223                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 62, Short.MAX_VALUE)
224                         .addComponent(amoutLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
225                         .addContainerGap())
226                     .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 321, Short.MAX_VALUE)
227                     .addGroup(detailsPanelLayout.createSequentialGroup()
228                         .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
229                             .addComponent(detailLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
230                             .addComponent(detailLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE))
231                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 66, Short.MAX_VALUE)
232                         .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
233                             .addComponent(valueLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
234                             .addComponent(valueLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE)
235                             .addComponent(valueLabel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 164, javax.swing.GroupLayout.PREFERRED_SIZE)
236                             .addComponent(valueLabel4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 164, javax.swing.GroupLayout.PREFERRED_SIZE))
237                         .addContainerGap())
238                     .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
239                         .addComponent(detailLabel4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
240                         .addComponent(detailLabel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
241             .addComponent(jSeparator2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)
242             .addGroup(detailsPanelLayout.createSequentialGroup()
243                 .addGap(6, 6, 6)
244                 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 461, Short.MAX_VALUE)
245                 .addContainerGap())
246         );
247         detailsPanelLayout.setVerticalGroup(
248             detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
249             .addGroup(detailsPanelLayout.createSequentialGroup()
250                 .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
251                     .addComponent(imagePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
252                     .addGroup(detailsPanelLayout.createSequentialGroup()
253                         .addGap(11, 11, 11)
254                         .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
255                             .addComponent(priceLabel)
256                             .addComponent(amoutLabel))
257                         .addGap(14, 14, 14)
258                         .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
259                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
260                         .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
261                             .addComponent(detailLabel1)
262                             .addComponent(valueLabel1))
263                         .addGap(15, 15, 15)
264                         .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
265                             .addComponent(detailLabel2)
266                             .addComponent(valueLabel2))
267                         .addGap(19, 19, 19)
268                         .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
269                             .addComponent(detailLabel3)
270                             .addComponent(valueLabel3))
271                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
272                         .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
273                             .addComponent(valueLabel4)
274                             .addComponent(detailLabel4))))
275                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
276                 .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
277                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
278                 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE))
279         );
280
281         javax.swing.GroupLayout JavaDoc mainPanelLayout = new javax.swing.GroupLayout JavaDoc(mainPanel);
282         mainPanel.setLayout(mainPanelLayout);
283         mainPanelLayout.setHorizontalGroup(
284             mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
285             .addGroup(mainPanelLayout.createSequentialGroup()
286                 .addContainerGap()
287                 .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
288                     .addComponent(detailsPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
289                     .addComponent(headerPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
290                 .addContainerGap())
291         );
292         mainPanelLayout.setVerticalGroup(
293             mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
294             .addGroup(mainPanelLayout.createSequentialGroup()
295                 .addContainerGap()
296                 .addComponent(headerPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
297                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
298                 .addComponent(detailsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
299                 .addContainerGap())
300         );
301
302         javax.swing.GroupLayout JavaDoc layout = new javax.swing.GroupLayout JavaDoc(getContentPane());
303         getContentPane().setLayout(layout);
304         layout.setHorizontalGroup(
305             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
306             .addComponent(mainPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
307         );
308         layout.setVerticalGroup(
309             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
310             .addComponent(mainPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
311         );
312         pack();
313         
314     }
315     
316     public void initComponentsData() {
317         itemDetailsLabel.setText(this.itemDetailString);
318         itemIdLabel.setText("Item Id: "+ this.itemId);
319         int i = 0;
320         if(details[i] != null && values[i] != null ) {
321             priceLabel.setText(details[i]);
322             amoutLabel.setText(values[i]);
323             i++;
324         }
325         
326         if(i < details.length && details[i] != null && values[i] != null ) {
327             detailLabel1.setText(details[i]);
328             valueLabel1.setText(values[i]);
329             i++;
330         }
331         
332         if(i < details.length && details[i] != null && values[i] != null ) {
333             detailLabel2.setText(details[i]);
334             valueLabel2.setText(values[i]);
335             i++;
336         }
337         
338         if(i < details.length && details[i] != null && values[i] != null ) {
339             detailLabel3.setText(details[i]);
340             valueLabel3.setText(values[i]);
341             i++;
342         }
343         
344         if(i < details.length && details[i] != null && values[i] != null ) {
345             detailLabel4.setText(details[i]);
346             valueLabel4.setText(values[i]);
347             i++;
348         }
349         if( this.desc != null)
350             descriptionPane.setText("Description:" + this.desc);
351         else
352             descriptionPane.setText("Description: None");
353             
354     }
355     
356      // Variables declaration - do not modify
357
private javax.swing.JLabel JavaDoc amoutLabel;
358     private javax.swing.JTextPane JavaDoc descriptionPane;
359     private javax.swing.JLabel JavaDoc detailLabel1;
360     private javax.swing.JLabel JavaDoc detailLabel2;
361     private javax.swing.JLabel JavaDoc detailLabel3;
362     private javax.swing.JLabel JavaDoc detailLabel4;
363     private javax.swing.JPanel JavaDoc detailsPanel;
364     private javax.swing.JPanel JavaDoc headerPanel;
365     private javax.swing.JPanel JavaDoc imagePanel;
366     private javax.swing.JLabel JavaDoc itemDetailsLabel;
367     private javax.swing.JLabel JavaDoc itemIdLabel;
368     private javax.swing.JScrollPane JavaDoc jScrollPane1;
369     private javax.swing.JSeparator JavaDoc jSeparator1;
370     private javax.swing.JSeparator JavaDoc jSeparator2;
371     private javax.swing.JPanel JavaDoc mainPanel;
372     private javax.swing.JLabel JavaDoc priceLabel;
373     private javax.swing.JLabel JavaDoc valueLabel1;
374     private javax.swing.JLabel JavaDoc valueLabel2;
375     private javax.swing.JLabel JavaDoc valueLabel3;
376     private javax.swing.JLabel JavaDoc valueLabel4;
377     // End of variables declaration
378
}
379
Popular Tags