Initial Commit
This commit is contained in:
Executable
+78
@@ -0,0 +1,78 @@
|
||||
/* this class allows interactive
|
||||
viewing of a tree built from
|
||||
Node instances
|
||||
*/
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class TreeViewer extends Basic
|
||||
{
|
||||
// instance variables for the application:
|
||||
// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||||
|
||||
private Node root; // root of tree to be viewed
|
||||
|
||||
private String keyInput;
|
||||
private double horizGap = 2, vertGap = .5;
|
||||
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
public TreeViewer( String title, int ulx, int uly, int pw, int ph,
|
||||
Node tree )
|
||||
{
|
||||
super(title,ulx,uly,pw,ph);
|
||||
|
||||
setBackgroundColor( new Color( 128, 128, 200 ) );
|
||||
|
||||
// tree display
|
||||
cameras.add( new Camera( 25, 45, pw-55, ph-75,
|
||||
0, 10, 0, 5,
|
||||
new Color( 200, 200, 200 ) ) );
|
||||
|
||||
root = tree;
|
||||
|
||||
super.start();
|
||||
}
|
||||
|
||||
public void step()
|
||||
{
|
||||
// tree display
|
||||
Camera cam = cameras.get(0);
|
||||
cam.activate();
|
||||
cam.setColor( Color.black );
|
||||
|
||||
root.draw( cam, 5.0, 4.0, horizGap, vertGap );
|
||||
|
||||
}// step
|
||||
|
||||
public void keyTyped( KeyEvent e ) {
|
||||
char key = e.getKeyChar();
|
||||
|
||||
if( key == 'w' ){
|
||||
horizGap *= 1.2;
|
||||
}
|
||||
else if( key == 'n' ){
|
||||
horizGap /= 1.2;
|
||||
}
|
||||
|
||||
}// keyTyped
|
||||
|
||||
public void keyPressed( KeyEvent e ) {
|
||||
int code = e.getKeyCode();
|
||||
|
||||
if( code == KeyEvent.VK_LEFT ){
|
||||
cameras.get(0).shiftRegion( -0.25, 0 );
|
||||
}
|
||||
else if( code == KeyEvent.VK_RIGHT ){
|
||||
cameras.get(0).shiftRegion( 0.25, 0 );
|
||||
}
|
||||
else if( code == KeyEvent.VK_UP ){
|
||||
cameras.get(0).shiftRegion( 0, 0.25 );
|
||||
}
|
||||
else if( code == KeyEvent.VK_DOWN ){
|
||||
cameras.get(0).shiftRegion( 0, -0.25 );
|
||||
}
|
||||
}// keyPressed
|
||||
|
||||
}// TreeViewer
|
||||
Reference in New Issue
Block a user