front_processing/extern/TUIO_JAVA/src/TuioDemo.java
changeset 9 0f44b7360c8d
parent 3 92f19af39024
child 10 925b7ee746e3
equal deleted inserted replaced
8:e4e7db2435f8 9:0f44b7360c8d
     1 /*
     1 /*
     2 	TUIO Java Demo - part of the reacTIVision project
     2     TUIO Java Demo - part of the reacTIVision project
     3 	http://reactivision.sourceforge.net/
     3     http://reactivision.sourceforge.net/
     4 
     4 
     5 	Copyright (c) 2005-2009 Martin Kaltenbrunner <mkalten@iua.upf.edu>
     5     Copyright (c) 2005-2009 Martin Kaltenbrunner <mkalten@iua.upf.edu>
     6 
     6 
     7     This program is free software; you can redistribute it and/or modify
     7     This program is free software; you can redistribute it and/or modify
     8     it under the terms of the GNU General Public License as published by
     8     it under the terms of the GNU General Public License as published by
     9     the Free Software Foundation; either version 2 of the License, or
     9     the Free Software Foundation; either version 2 of the License, or
    10     (at your option) any later version.
    10     (at your option) any later version.
    27 import javax.swing.*;
    27 import javax.swing.*;
    28 import TUIO.*;
    28 import TUIO.*;
    29 
    29 
    30 public class TuioDemo  {
    30 public class TuioDemo  {
    31 
    31 
    32 	private final int window_width  = 640;
    32     private final int window_width  = 640;
    33 	private final int window_height = 480;
    33     private final int window_height = 480;
    34 
    34 
    35 	private boolean fullscreen = false;
    35     private boolean fullscreen = false;
    36 	
    36     
    37 	private TuioDemoComponent demo;
    37     private TuioDemoComponent demo;
    38 	private JFrame frame;
    38     private JFrame frame;
    39 	private GraphicsDevice device;
    39     private GraphicsDevice device;
    40 	
    40     
    41 	public TuioDemo() {
    41     public TuioDemo() {
    42 		demo = new TuioDemoComponent();
    42         demo = new TuioDemoComponent();
    43 		device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
    43         device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
    44 		setupWindow();
    44         setupWindow();
    45 		showWindow();
    45         showWindow();
    46 	}
    46     }
    47 	
    47     
    48 	public TuioListener getTuioListener() {
    48     public TuioListener getTuioListener() {
    49 		return demo;
    49         return demo;
    50 	}
    50     }
    51 	
    51     
    52 	public void setupWindow() {
    52     public void setupWindow() {
    53 	
    53     
    54 		frame = new JFrame();
    54         frame = new JFrame();
    55 		frame.add(demo);
    55         frame.add(demo);
    56 
    56 
    57 		frame.setTitle("TuioDemo");
    57         frame.setTitle("TuioDemo");
    58 		frame.setResizable(false);
    58         frame.setResizable(false);
    59 
    59 
    60 		frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent evt) {
    60         frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent evt) {
    61 				System.exit(0);
    61                 System.exit(0);
    62 			} });
    62             } });
    63 		
    63         
    64 		frame.addKeyListener( new KeyAdapter() { public void keyPressed(KeyEvent evt) {
    64         frame.addKeyListener( new KeyAdapter() { public void keyPressed(KeyEvent evt) {
    65 			if (evt.getKeyCode()==KeyEvent.VK_ESCAPE) System.exit(0);
    65             if (evt.getKeyCode()==KeyEvent.VK_ESCAPE) System.exit(0);
    66 			else if (evt.getKeyCode()==KeyEvent.VK_F1) {
    66             else if (evt.getKeyCode()==KeyEvent.VK_F1) {
    67 				destroyWindow();
    67                 destroyWindow();
    68 				setupWindow();
    68                 setupWindow();
    69 				fullscreen = !fullscreen;
    69                 fullscreen = !fullscreen;
    70 				showWindow();
    70                 showWindow();
    71 			}
    71             }
    72 			else if (evt.getKeyCode()==KeyEvent.VK_V) demo.verbose=!demo.verbose;
    72             else if (evt.getKeyCode()==KeyEvent.VK_V) demo.verbose=!demo.verbose;
    73 		} });
    73         } });
    74 	}
    74     }
    75 	
    75     
    76 	public void destroyWindow() {
    76     public void destroyWindow() {
    77 	
    77     
    78 		frame.setVisible(false);
    78         frame.setVisible(false);
    79 		if (fullscreen) {
    79         if (fullscreen) {
    80 			device.setFullScreenWindow(null);		
    80             device.setFullScreenWindow(null);        
    81 		}
    81         }
    82 		frame = null;
    82         frame = null;
    83 	}
    83     }
    84 	
    84     
    85 	public void showWindow() {
    85     public void showWindow() {
    86 	
    86     
    87 		if (fullscreen) {
    87         if (fullscreen) {
    88 			int width  = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
    88             int width  = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
    89 			int height = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
    89             int height = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
    90 			demo.setSize(width,height);
    90             demo.setSize(width,height);
    91 
    91 
    92 			frame.setSize(width,height);
    92             frame.setSize(width,height);
    93 			frame.setUndecorated(true);
    93             frame.setUndecorated(true);
    94 			device.setFullScreenWindow(frame);		
    94             device.setFullScreenWindow(frame);        
    95 		} else {
    95         } else {
    96 			int width  = window_width;
    96             int width  = window_width;
    97 			int height = window_height;
    97             int height = window_height;
    98 			demo.setSize(width,height);
    98             demo.setSize(width,height);
    99 			
    99             
   100 			frame.pack();
   100             frame.pack();
   101 			Insets insets = frame.getInsets();			
   101             Insets insets = frame.getInsets();            
   102 			frame.setSize(width,height +insets.top);
   102             frame.setSize(width,height +insets.top);
   103 			
   103             
   104 		}
   104         }
   105 		
   105         
   106 		frame.setVisible(true);
   106         frame.setVisible(true);
   107 		frame.repaint();
   107         frame.repaint();
   108 
   108 
   109 	}
   109     }
   110 	
   110     
   111 	public static void main(String argv[]) {
   111     public static void main(String argv[]) {
   112 		
   112         
   113 		TuioDemo demo = new TuioDemo();
   113         TuioDemo demo = new TuioDemo();
   114 		TuioClient client = null;
   114         TuioClient client = null;
   115  
   115  
   116 		switch (argv.length) {
   116         switch (argv.length) {
   117 			case 1:
   117             case 1:
   118 				try { 
   118                 try { 
   119 					client = new TuioClient( Integer.parseInt(argv[0])); 
   119                     client = new TuioClient( Integer.parseInt(argv[0])); 
   120 				} catch (Exception e) {
   120                 } catch (Exception e) {
   121 					System.out.println("usage: java TuioDemo [port]");
   121                     System.out.println("usage: java TuioDemo [port]");
   122 					System.exit(0);
   122                     System.exit(0);
   123 				}
   123                 }
   124 				break;
   124                 break;
   125 			case 0:
   125             case 0:
   126 				client = new TuioClient(80);
   126                 client = new TuioClient(80);
   127 				break;
   127                 break;
   128 			default: 
   128             default: 
   129 				System.out.println("usage: java TuioDemo [port]");
   129                 System.out.println("usage: java TuioDemo [port]");
   130 				System.exit(0);
   130                 System.exit(0);
   131 				break;
   131                 break;
   132 		}
   132         }
   133 		
   133         
   134 		if (client!=null) {
   134         if (client!=null) {
   135 			client.addTuioListener(demo.getTuioListener());
   135             client.addTuioListener(demo.getTuioListener());
   136 			client.connect();
   136             client.connect();
   137 		} else {
   137         } else {
   138 			System.out.println("usage: java TuioDemo [port]");
   138             System.out.println("usage: java TuioDemo [port]");
   139 			System.exit(0);
   139             System.exit(0);
   140 		}
   140         }
   141 	}
   141     }
   142 	
   142     
   143 }
   143 }