Dienstag, 27. März 2012

Javascript Wait + Counter

Javascript-Wait-Funktion mit Counter
Mit dieser Funktion wird nach n Sekunden eine mitgegebene Funktion aufgerufen. Zudem wird an der Stelle, an der diese Wait-Funktion gestartet wird ein Counter ausgegeben.


Funktion im Header:
<script type="text/javascript">

var maeckiWait = new function(){
 
 var iSec = 0;
 var func = null;
 
 this.wait = function(){
  iSec--;

  document.getElementById('maeckiWaitSec').innerHTML = iSec;
  
  if(iSec <= 0){
   if(func){
    func();
   }
  }else{
   window.setTimeout(function(me){
    return function(){
     me.wait();
    }
   }(this),1000);
  }
 };
 
 this.start = function(sec,fnc){

  document.write('<span id="maeckiWaitSec"></span>');
  
  iSec = sec+1;
  func = fnc;
  
  this.wait();
 };
}
</script>


Aufruf an der gewünschten Stelle im Body:
<script type="text/javascript">
maeckiWait.start(2,function(){
 alert("Hello World");
});
</script>

Dienstag, 20. März 2012

Java-Test


  • JavaView
  • JavaModel
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


/** GUI Klasse
 * 
 * Stellt die grafische Benutzeroberfläche
 * zur Interaktion mit den User bereit.
 * 
 * @author Benjamin Hartl
 * @version 1.0
 */
public class JavaView extends JFrame
{
  /** Buttons für Testzwecke */
  private JButton b1;
  private JButton b2;
  private JLabel lblTest;
  private JPanel p1;

  /** Referenz auf ein Model Object */
  private JavaModel mod = new JavaModel();

  /**
   * Erstellen der GUI,
   * Verbindet die Handler mit Events
   * Zeigt die GUI an
   */
  public void launchFrame()
  {
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    b1 = new JButton("Klick mich");
    b2 = new JButton("Test");
    lblTest = new JLabel("Das Label");
    p1 = new JPanel();
    p1.setLayout(new GridLayout(2,1));

    p1.add(lblTest);
    p1.add(b1);

    this.add(p1,BorderLayout.CENTER);
    this.add(b2,BorderLayout.WEST);

    b2.addActionListener(new ButtonHandler());

    this.pack();
    this.setVisible(true);
  }

  public static void main(String[] args)
  {
    JavaView gui = new JavaView();
    gui.launchFrame();
  }

  private class ButtonHandler implements ActionListener
  {
    public void actionPerformed(ActionEvent e)
    {
      b2.setBackground(mod.getC());
    }
  }
}