1package aurelienribon.tweenengine.applets; 2 3import aurelienribon.tweenengine.Tween; 4import aurelienribon.tweenengine.TweenEquation; 5import aurelienribon.tweenengine.TweenManager; 6import aurelienribon.utils.swing.DrawingCanvas; 7import java.awt.BorderLayout; 8import java.awt.Graphics; 9import java.awt.Graphics2D; 10import java.awt.Rectangle; 11import java.awt.TexturePaint; 12import java.awt.event.ActionEvent; 13import java.awt.event.ActionListener; 14import java.awt.event.MouseAdapter; 15import java.awt.event.MouseEvent; 16import java.awt.image.BufferedImage; 17import java.io.IOException; 18import javax.imageio.ImageIO; 19import javax.swing.UIManager; 20import javax.swing.UnsupportedLookAndFeelException; 21import javax.swing.event.ChangeEvent; 22import javax.swing.event.ChangeListener; 23 24/** 25 * @author Aurelien Ribon | http://www.aurelienribon.com 26 */ 27public class TweenApplet extends javax.swing.JApplet { 28 /*public static void main(String[] args) { 29 TweenApplet applet = new TweenApplet(); 30 applet.init(); 31 applet.start(); 32 33 javax.swing.JFrame wnd = new javax.swing.JFrame(); 34 wnd.add(applet); 35 wnd.setSize(600, 550); 36 wnd.setVisible(true); 37 }*/ 38 39 // ------------------------------------------------------------------------- 40 // Applet 41 // ------------------------------------------------------------------------- 42 43 @Override 44 public void init() { 45 try { 46 java.awt.EventQueue.invokeAndWait(new Runnable() { 47 @Override public void run() {load();} 48 }); 49 } catch (Exception ex) { 50 } 51 } 52 53 @Override 54 public void destroy() { 55 DrawingCanvas canvas = (DrawingCanvas) canvasWrapper.getComponent(0); 56 canvas.stop(); 57 } 58 59 private void load() { 60 try { 61 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 62 } catch (ClassNotFoundException ex) { 63 } catch (InstantiationException ex) { 64 } catch (IllegalAccessException ex) { 65 } catch (UnsupportedLookAndFeelException ex) { 66 } 67 68 initComponents(); 69 70 getContentPane().setBackground(Theme.MAIN_BACKGROUND); 71 Theme.apply(getContentPane()); 72 73 OptionsListener listener = new OptionsListener(); 74 easingCbox.addActionListener(listener); 75 delaySpinner.addChangeListener(listener); 76 durationSpinner.addChangeListener(listener); 77 rptSpinner.addChangeListener(listener); 78 rptDelaySpinner.addChangeListener(listener); 79 yoyoChk.addActionListener(listener); 80 81 generateCode(); 82 83 canvasWrapper.add(new MyCanvas().start(), BorderLayout.CENTER); 84 } 85 86 private void generateCode() { 87 String easing = (String) easingCbox.getSelectedItem(); 88 int delay = (Integer) delaySpinner.getValue(); 89 int duration = (Integer) durationSpinner.getValue(); 90 int rptCnt = (Integer) rptSpinner.getValue(); 91 int rptDelay = (Integer) rptDelaySpinner.getValue(); 92 boolean isYoyo = yoyoChk.isSelected(); 93 94 String code = "Tween.to(mySprite, POSITION_XY, " + duration + ")"; 95 code += "\n .target()"; 96 97 if (!easing.equals("Linear") && !easing.equals("----------")) code += "\n .ease(" + easing + ")"; 98 if (delay > 0) code += "\n .delay(" + delay + ")"; 99 if (rptCnt > 0) code += "\n .repeat" + (isYoyo ? "Yoyo" : "") + "(" + rptCnt + ", " + rptDelay + ")"; 100 101 code += "\n .start(myManager);"; 102 103 resultArea.setText(code); 104 } 105 106 private class OptionsListener implements ChangeListener, ActionListener { 107 @Override public void stateChanged(ChangeEvent e) {onEvent();} 108 @Override public void actionPerformed(ActionEvent e) {onEvent();} 109 private void onEvent() { 110 generateCode(); 111 } 112 } 113 114 // ------------------------------------------------------------------------- 115 // Canvas 116 // ------------------------------------------------------------------------- 117 118 private class MyCanvas extends DrawingCanvas { 119 private final TweenManager tweenManager = new TweenManager(); 120 private final Sprite vialSprite; 121 private TexturePaint bgPaint; 122 123 public MyCanvas() { 124 Tween.enablePooling(false); 125 Tween.registerAccessor(Sprite.class, new SpriteAccessor()); 126 addMouseListener(mouseAdapter); 127 128 vialSprite = new Sprite("vial.png"); 129 vialSprite.setPosition(100, 100); 130 131 try { 132 BufferedImage bgImage = ImageIO.read(TweenApplet.class.getResource("/aurelienribon/tweenengine/applets/gfx/transparent-dark.png")); 133 bgPaint = new TexturePaint(bgImage, new Rectangle(0, 0, bgImage.getWidth(), bgImage.getHeight())); 134 } catch (IOException ex) { 135 } 136 } 137 138 @Override 139 protected void update(int elapsedMillis) { 140 tweenManager.update(elapsedMillis); 141 repaint(); 142 } 143 144 @Override 145 protected void paintComponent(Graphics g) { 146 Graphics2D gg = (Graphics2D) g; 147 148 if (bgPaint != null) { 149 gg.setPaint(bgPaint); 150 gg.fillRect(0, 0, getWidth(), getHeight()); 151 gg.setPaint(null); 152 } 153 154 vialSprite.draw(gg); 155 } 156 157 private final MouseAdapter mouseAdapter = new MouseAdapter() { 158 @Override public void mousePressed(MouseEvent e) { 159 TweenEquation easing = TweenEquation.parse((String) easingCbox.getSelectedItem()); 160 int delay = (Integer) delaySpinner.getValue(); 161 int duration = (Integer) durationSpinner.getValue(); 162 int rptCnt = (Integer) rptSpinner.getValue(); 163 int rptDelay = (Integer) rptDelaySpinner.getValue(); 164 boolean isYoyo = yoyoChk.isSelected(); 165 166 tweenManager.killAll(); 167 168 Tween tween = Tween.to(vialSprite, SpriteAccessor.POSITION_XY, duration) 169 .target(e.getX(), e.getY()) 170 .delay(delay); 171 172 if (easing != null) tween.ease(easing); 173 if (isYoyo) tween.repeatYoyo(rptCnt, rptDelay); 174 else tween.repeat(rptCnt, rptDelay); 175 176 tween.start(tweenManager); 177 } 178 }; 179 } 180 181 // ------------------------------------------------------------------------- 182 // Generated stuff 183 // ------------------------------------------------------------------------- 184 185 @SuppressWarnings("unchecked") 186 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents 187 private void initComponents() { 188 189 jPanel1 = new javax.swing.JPanel(); 190 jScrollPane1 = new javax.swing.JScrollPane(); 191 resultArea = new javax.swing.JTextArea(); 192 jLabel1 = new javax.swing.JLabel(); 193 jLabel9 = new javax.swing.JLabel(); 194 canvasWrapper = new javax.swing.JPanel(); 195 jPanel3 = new javax.swing.JPanel(); 196 jLabel2 = new javax.swing.JLabel(); 197 jPanel2 = new javax.swing.JPanel(); 198 jLabel3 = new javax.swing.JLabel(); 199 delaySpinner = new javax.swing.JSpinner(); 200 jLabel4 = new javax.swing.JLabel(); 201 rptSpinner = new javax.swing.JSpinner(); 202 yoyoChk = new javax.swing.JCheckBox(); 203 jLabel5 = new javax.swing.JLabel(); 204 durationSpinner = new javax.swing.JSpinner(); 205 jLabel7 = new javax.swing.JLabel(); 206 easingCbox = new javax.swing.JComboBox(); 207 jLabel6 = new javax.swing.JLabel(); 208 rptDelaySpinner = new javax.swing.JSpinner(); 209 jPanel4 = new javax.swing.JPanel(); 210 jLabel8 = new javax.swing.JLabel(); 211 212 jPanel1.setBorder(new aurelienribon.utils.swing.GroupBorder()); 213 214 jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 215 216 resultArea.setColumns(20); 217 resultArea.setRows(5); 218 jScrollPane1.setViewportView(resultArea); 219 220 jLabel1.setText("Java code:"); 221 222 jLabel9.setText("<html>\nUniversal Tween Engine v6.0.0 - <font color=\"#77C8FF\">www.aurelienribon.com</font>"); 223 224 javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 225 jPanel1.setLayout(jPanel1Layout); 226 jPanel1Layout.setHorizontalGroup( 227 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 228 .addGroup(jPanel1Layout.createSequentialGroup() 229 .addContainerGap() 230 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 231 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 562, Short.MAX_VALUE) 232 .addGroup(jPanel1Layout.createSequentialGroup() 233 .addComponent(jLabel1) 234 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 237, Short.MAX_VALUE) 235 .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 236 .addContainerGap()) 237 ); 238 jPanel1Layout.setVerticalGroup( 239 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 240 .addGroup(jPanel1Layout.createSequentialGroup() 241 .addContainerGap() 242 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 243 .addComponent(jLabel1) 244 .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 245 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 246 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE) 247 .addContainerGap()) 248 ); 249 250 canvasWrapper.setLayout(new java.awt.BorderLayout()); 251 252 jPanel3.setOpaque(false); 253 254 jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 255 jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/aurelienribon/tweenengine/applets/gfx/logo-tween.png"))); // NOI18N 256 257 aurelienribon.utils.swing.GroupBorder groupBorder1 = new aurelienribon.utils.swing.GroupBorder(); 258 groupBorder1.setTitle("Options"); 259 jPanel2.setBorder(groupBorder1); 260 261 jLabel3.setText("Delay:"); 262 263 delaySpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(100))); 264 265 jLabel4.setText("Repetitions:"); 266 267 rptSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(1))); 268 269 yoyoChk.setText("Yoyo repetitions"); 270 271 jLabel5.setText("Duration:"); 272 273 durationSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(500), Integer.valueOf(0), null, Integer.valueOf(100))); 274 275 jLabel7.setText("Easing:"); 276 277 easingCbox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Linear.INOUT", "----------", "Quad.IN", "Quad.OUT", "Quad.INOUT", "----------", "Cubic.IN", "Cubic.OUT", "Cubic.INOUT", "----------", "Quart.IN", "Quart.OUT", "Quart.INOUT", "----------", "Quint.IN", "Quint.OUT", "Quint.INOUT", "----------", "Circ.IN", "Circ.OUT", "Circ.INOUT", "----------", "Sine.IN", "Sine.OUT", "Sine.INOUT", "----------", "Expo.IN", "Expo.OUT", "Expo.INOUT", "----------", "Back.IN", "Back.OUT", "Back.INOUT", "----------", "Bounce.IN", "Bounce.OUT", "Bounce.INOUT", "----------", "Elastic.IN", "Elastic.OUT", "Elastic.INOUT" })); 278 easingCbox.setSelectedIndex(31); 279 280 jLabel6.setText("Repeat delay:"); 281 282 rptDelaySpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(100))); 283 284 javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); 285 jPanel2.setLayout(jPanel2Layout); 286 jPanel2Layout.setHorizontalGroup( 287 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 288 .addGroup(jPanel2Layout.createSequentialGroup() 289 .addContainerGap() 290 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 291 .addComponent(yoyoChk, javax.swing.GroupLayout.Alignment.TRAILING) 292 .addGroup(jPanel2Layout.createSequentialGroup() 293 .addComponent(jLabel7) 294 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 295 .addComponent(easingCbox, 0, 105, Short.MAX_VALUE)) 296 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() 297 .addGap(13, 13, 13) 298 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 299 .addComponent(jLabel5) 300 .addComponent(jLabel3)) 301 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 302 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 303 .addComponent(durationSpinner, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE) 304 .addComponent(delaySpinner, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))) 305 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() 306 .addComponent(jLabel4) 307 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 308 .addComponent(rptSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)) 309 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() 310 .addComponent(jLabel6) 311 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 312 .addComponent(rptDelaySpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))) 313 .addContainerGap()) 314 ); 315 jPanel2Layout.setVerticalGroup( 316 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 317 .addGroup(jPanel2Layout.createSequentialGroup() 318 .addContainerGap() 319 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 320 .addComponent(jLabel7) 321 .addComponent(easingCbox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 322 .addGap(18, 18, 18) 323 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 324 .addComponent(delaySpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 325 .addComponent(jLabel3)) 326 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 327 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 328 .addComponent(durationSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 329 .addComponent(jLabel5)) 330 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 331 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 332 .addComponent(rptSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 333 .addComponent(jLabel4)) 334 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 335 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 336 .addComponent(rptDelaySpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 337 .addComponent(jLabel6)) 338 .addGap(18, 18, 18) 339 .addComponent(yoyoChk) 340 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 341 ); 342 343 jPanel4.setBorder(new aurelienribon.utils.swing.GroupBorder()); 344 345 jLabel8.setText("<html>\nClick anywhere on the canvas to fire your custom tween."); 346 jLabel8.setVerticalAlignment(javax.swing.SwingConstants.TOP); 347 348 javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); 349 jPanel4.setLayout(jPanel4Layout); 350 jPanel4Layout.setHorizontalGroup( 351 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 352 .addGroup(jPanel4Layout.createSequentialGroup() 353 .addContainerGap() 354 .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE) 355 .addContainerGap()) 356 ); 357 jPanel4Layout.setVerticalGroup( 358 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 359 .addGroup(jPanel4Layout.createSequentialGroup() 360 .addContainerGap() 361 .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, 42, Short.MAX_VALUE) 362 .addContainerGap()) 363 ); 364 365 javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); 366 jPanel3.setLayout(jPanel3Layout); 367 jPanel3Layout.setHorizontalGroup( 368 jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 369 .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE) 370 .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 371 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 372 ); 373 jPanel3Layout.setVerticalGroup( 374 jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 375 .addGroup(jPanel3Layout.createSequentialGroup() 376 .addComponent(jLabel2) 377 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE) 378 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 379 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 380 .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 381 ); 382 383 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 384 getContentPane().setLayout(layout); 385 layout.setHorizontalGroup( 386 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 387 .addGroup(layout.createSequentialGroup() 388 .addContainerGap() 389 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 390 .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 391 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 392 .addComponent(canvasWrapper, javax.swing.GroupLayout.DEFAULT_SIZE, 412, Short.MAX_VALUE) 393 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 394 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 395 .addContainerGap()) 396 ); 397 layout.setVerticalGroup( 398 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 399 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 400 .addContainerGap() 401 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 402 .addComponent(canvasWrapper, javax.swing.GroupLayout.DEFAULT_SIZE, 365, Short.MAX_VALUE) 403 .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 404 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 405 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 406 .addContainerGap()) 407 ); 408 }// </editor-fold>//GEN-END:initComponents 409 410 // Variables declaration - do not modify//GEN-BEGIN:variables 411 private javax.swing.JPanel canvasWrapper; 412 private javax.swing.JSpinner delaySpinner; 413 private javax.swing.JSpinner durationSpinner; 414 private javax.swing.JComboBox easingCbox; 415 private javax.swing.JLabel jLabel1; 416 private javax.swing.JLabel jLabel2; 417 private javax.swing.JLabel jLabel3; 418 private javax.swing.JLabel jLabel4; 419 private javax.swing.JLabel jLabel5; 420 private javax.swing.JLabel jLabel6; 421 private javax.swing.JLabel jLabel7; 422 private javax.swing.JLabel jLabel8; 423 private javax.swing.JLabel jLabel9; 424 private javax.swing.JPanel jPanel1; 425 private javax.swing.JPanel jPanel2; 426 private javax.swing.JPanel jPanel3; 427 private javax.swing.JPanel jPanel4; 428 private javax.swing.JScrollPane jScrollPane1; 429 private javax.swing.JTextArea resultArea; 430 private javax.swing.JSpinner rptDelaySpinner; 431 private javax.swing.JSpinner rptSpinner; 432 private javax.swing.JCheckBox yoyoChk; 433 // End of variables declaration//GEN-END:variables 434 435} 436