View Javadoc
1 /***************************************************************************** 2 * Virtual Mockup for Machine Vision 3 * Copyright (C) 2001-2003 Fabio R. de Miranda, João E. Kogler Jr., 4 * Carlos S. Santos. 5 * Virtual Mockup for Machine Vision Project funded by SENAC-SP 6 * 7 * Permission is granted to redistribute and/or modify this 8 * software under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This software is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License (http://www.gnu.org/copyleft/lesser.html) 16 * for more details. 17 * 18 *****************************************************************************/ 19 20 package camera3d.gui; 21 22 23 24 import java.awt.*; 25 import javax.swing.*; 26 import java.awt.event.*; 27 28 /*** 29 * Simple dialog window for asking the user which is the desired size of snapshot 30 * image to be saved. 31 * 32 * @author Fábio Roberto de Miranda e Carlos da Silva dos Santos 33 * @version 1.0 34 */ 35 class SavedImageSizeDialog extends JDialog { 36 37 public static final int OK_SELECTED = 0; 38 public static final int CANCEL_SELECTED = 1; 39 40 private int lastUserAction = -1; 41 42 private int imageWidth; 43 private int imageHeight; 44 45 private boolean validatedFields = false; 46 47 private JButton okBtn = new JButton(); 48 private JButton cancelBtn = new JButton(); 49 private JTextField widthTxt = new JTextField(); 50 private JTextField heightTxt = new JTextField(); 51 private JLabel widthLabel = new JLabel(); 52 private JLabel heightLabel = new JLabel(); 53 private GridBagLayout gridBagLayout1 = new GridBagLayout(); 54 55 public SavedImageSizeDialog() { 56 this.setModal(true); 57 try { 58 jbInit(); 59 } 60 catch(Exception e) { 61 e.printStackTrace(); 62 } 63 } 64 65 private void jbInit() throws Exception { 66 okBtn.setText("OK"); 67 okBtn.addActionListener(new java.awt.event.ActionListener() { 68 public void actionPerformed(ActionEvent e) { 69 okBtn_actionPerformed(e); 70 } 71 }); 72 this.getContentPane().setLayout(gridBagLayout1); 73 cancelBtn.addActionListener(new java.awt.event.ActionListener() { 74 public void actionPerformed(ActionEvent e) { 75 cancelBtn_actionPerformed(e); 76 } 77 }); 78 cancelBtn.setText("Cancel"); 79 this.setTitle("Please select image size"); 80 widthTxt.setText(imageWidth+""); 81 widthTxt.setHorizontalAlignment(SwingConstants.RIGHT); 82 heightTxt.setText(imageHeight+""); 83 heightTxt.setHorizontalAlignment(SwingConstants.RIGHT); 84 widthLabel.setText("width"); 85 heightLabel.setText("height"); 86 this.getContentPane().add(heightTxt, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0 87 ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(6, 0, 0, 98), 61, 6)); 88 this.getContentPane().add(cancelBtn, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0 89 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(17, 0, 35, 91), 2, 0)); 90 this.getContentPane().add(okBtn, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0 91 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(17, 80, 35, 0), 24, 0)); 92 this.getContentPane().add(widthTxt, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0 93 ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(54, 0, 0, 97), 61, 6)); 94 this.getContentPane().add(heightLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 95 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 88, 6, 26), 6, 0)); 96 this.getContentPane().add(widthLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 97 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(54, 87, 7, 27), 10, 0)); 98 this.setSize(400, 250); 99 } 100 101 void cancelBtn_actionPerformed(ActionEvent e) { 102 this.lastUserAction = CANCEL_SELECTED; 103 this.hide(); 104 } 105 106 /*** 107 * Returns flag indicating last action selected by user. It can be either OK_SELECTED 108 * or CANCEL_SELECTED. 109 */ 110 public int getUserAction(){ 111 return lastUserAction; 112 } 113 114 115 /*** 116 * Returns desired width of image. 117 */ 118 public int getWidth(){ 119 return this.imageWidth; 120 } 121 122 /*** 123 * Returns desired height of image. 124 */ 125 public int getHeight(){ 126 return this.imageHeight; 127 } 128 129 void okBtn_actionPerformed(ActionEvent e) { 130 validateUserInput(); 131 if (validatedFields){ 132 this.lastUserAction = OK_SELECTED; 133 this.hide(); 134 } 135 } 136 137 /*** 138 * Sets value of image size. 139 * @param w image width. 140 * @param h image height. 141 */ 142 public void setImageSize(int w, int h){ 143 this.imageHeight = h; 144 this.imageWidth = w; 145 this.widthTxt.setText(w + ""); 146 this.heightTxt.setText(h + ""); 147 } 148 149 /*** 150 * Checks whether the values enteres by the user are valid. The validatedFields 151 * flag is set according to the test result. 152 */ 153 void validateUserInput(){ 154 int w; 155 int h; 156 try { 157 w = Integer.parseInt(widthTxt.getText()); 158 h = Integer.parseInt(heightTxt.getText()); 159 } catch (NumberFormatException ex){ 160 this.validatedFields = false; 161 return; 162 } 163 this.imageWidth = w; 164 this.imageHeight = h; 165 this.validatedFields = true; 166 } 167 168 }

This page was automatically generated by Maven