1 6 7 package ebay.client; 8 9 13 import ebay.apis.*; 14 15 public class ViewItemDetails extends javax.swing.JFrame { 16 17 private java.awt.image.BufferedImage image = null; 18 private String itemDetailString; 19 private String itemId; 20 private String [] details = new String [5]; 21 private String [] values = new String [5]; 22 private String desc; 23 24 25 public ViewItemDetails(String itemId, ItemType item) { 26 super(); 27 28 String currency = null; 29 this.itemId = itemId; 30 31 setTitle("Item Id: "+itemId); 32 33 if( item.getTitle() != null) { 34 itemDetailString = item.getTitle(); 35 } 37 if (item.getPictureDetails() != null) { 38 try { 40 java.net.URL url = new java.net.URL (item.getPictureDetails().getGalleryURL()); 41 image = javax.imageio.ImageIO.read(url); 42 }catch(java.io.IOException ie) { 43 image = null; 46 } 47 } 48 if(item.getCurrency() != null) { 49 currency = item.getCurrency().value(); 51 } 52 if (item.getDescription() != null) { 53 desc = item.getDescription(); 55 } 56 int i=0; 57 if (item.getBestOfferDetails() != null) { 58 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 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 details[i] ="End Time: "; 83 84 String 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 details[i] ="Quantity: "; 101 values[i] = String.valueOf(item.getQuantity()); 102 i++; 103 } 104 105 if(item.getLocation() != null) { 106 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 (); 117 headerPanel = new javax.swing.JPanel (); 118 itemDetailsLabel = new javax.swing.JLabel (); 119 itemIdLabel = new javax.swing.JLabel (); 120 detailsPanel = new javax.swing.JPanel (); 121 priceLabel = new javax.swing.JLabel (); 122 amoutLabel = new javax.swing.JLabel (); 123 jSeparator1 = new javax.swing.JSeparator (); 124 detailLabel1 = new javax.swing.JLabel (); 125 valueLabel1 = new javax.swing.JLabel (); 126 detailLabel2 = new javax.swing.JLabel (); 127 valueLabel2 = new javax.swing.JLabel (); 128 detailLabel3 = new javax.swing.JLabel (); 129 valueLabel3 = new javax.swing.JLabel (); 130 detailLabel4 = new javax.swing.JLabel (); 131 valueLabel4 = new javax.swing.JLabel (); 132 jSeparator2 = new javax.swing.JSeparator (); 133 jScrollPane1 = new javax.swing.JScrollPane (); 134 descriptionPane = new javax.swing.JTextPane (); 135 136 descriptionPane.setEditable(false); 137 138 if(image != null) { 139 imagePanel = new javax.swing.JPanel (){ 140 public void processComponentEvent(java.awt.event.ComponentEvent 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 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 (); 154 } 155 156 initComponentsData(); 157 158 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 159 setResizable(false); 160 161 itemDetailsLabel.setFont(new java.awt.Font ("Verdana", 1, 12)); 162 itemIdLabel.setFont(new java.awt.Font ("Verdana", 0, 12)); 163 164 javax.swing.GroupLayout headerPanelLayout = new javax.swing.GroupLayout (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 (255, 255, 204)); 186 javax.swing.GroupLayout imagePanelLayout = new javax.swing.GroupLayout (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 ("Verdana", 0, 11)); 198 amoutLabel.setFont(new java.awt.Font ("Verdana", 1, 11)); 199 jSeparator1.setForeground(new java.awt.Color (255, 255, 255)); 200 detailLabel1.setFont(new java.awt.Font ("Verdana", 0, 11)); 201 valueLabel1.setFont(new java.awt.Font ("Verdana", 0, 11)); 202 detailLabel2.setFont(new java.awt.Font ("Verdana", 0, 11)); 203 valueLabel2.setFont(new java.awt.Font ("Verdana", 0, 11)); 204 detailLabel3.setFont(new java.awt.Font ("Verdana", 0, 11)); 205 valueLabel3.setFont(new java.awt.Font ("Verdana", 0, 11)); 206 detailLabel4.setFont(new java.awt.Font ("Verdana", 0, 11)); 207 valueLabel4.setFont(new java.awt.Font ("Verdana", 0, 11)); 208 jSeparator2.setForeground(new java.awt.Color (255, 255, 255)); 209 descriptionPane.setFont(new java.awt.Font ("Verdana", 0, 11)); 210 descriptionPane.setBackground(new java.awt.Color (236,233,216)); 211 jScrollPane1.setViewportView(descriptionPane); 212 213 javax.swing.GroupLayout detailsPanelLayout = new javax.swing.GroupLayout (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 mainPanelLayout = new javax.swing.GroupLayout (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 layout = new javax.swing.GroupLayout (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 private javax.swing.JLabel amoutLabel; 358 private javax.swing.JTextPane descriptionPane; 359 private javax.swing.JLabel detailLabel1; 360 private javax.swing.JLabel detailLabel2; 361 private javax.swing.JLabel detailLabel3; 362 private javax.swing.JLabel detailLabel4; 363 private javax.swing.JPanel detailsPanel; 364 private javax.swing.JPanel headerPanel; 365 private javax.swing.JPanel imagePanel; 366 private javax.swing.JLabel itemDetailsLabel; 367 private javax.swing.JLabel itemIdLabel; 368 private javax.swing.JScrollPane jScrollPane1; 369 private javax.swing.JSeparator jSeparator1; 370 private javax.swing.JSeparator jSeparator2; 371 private javax.swing.JPanel mainPanel; 372 private javax.swing.JLabel priceLabel; 373 private javax.swing.JLabel valueLabel1; 374 private javax.swing.JLabel valueLabel2; 375 private javax.swing.JLabel valueLabel3; 376 private javax.swing.JLabel valueLabel4; 377 } 379 | Popular Tags |