/************************************************************************** * Copyright (c) 2001 by Acunia N.V. All rights reserved. * * * * This software is copyrighted by and is the sole property of Acunia N.V. * * and its licensors, if any. All rights, title, ownership, or other * * interests in the software remain the property of Acunia N.V. and its * * licensors, if any. * * * * This software may only be used in accordance with the corresponding * * license agreement. Any unauthorized use, duplication, transmission, * * distribution or disclosure of this software is expressly forbidden. * * * * This Copyright notice may not be removed or modified without prior * * written consent of Acunia N.V. * * * * Acunia N.V. reserves the right to modify this software without notice. * * * * Acunia N.V. * * Vanden Tymplestraat 35 info@acunia.com * * 3000 Leuven http://www.acunia.com * * Belgium - EUROPE * **************************************************************************/ // Author: J. Vandeneede // Created: 2001/03/13 package com.acunia.wonka.test.awt.Scrollbar; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.Panel; import java.awt.Scrollbar; import java.awt.event.AdjustmentEvent; import java.awt.event.AdjustmentListener; import com.acunia.wonka.test.awt.VisualTest; import com.acunia.wonka.test.awt.VisualTestImpl; import com.acunia.wonka.test.awt.VisualTester; public class ScrollbarTest extends VisualTestImpl implements AdjustmentListener,VisualTest { Panel card = new Panel(); Scrollbar sh1 = new Scrollbar(java.awt.Scrollbar.HORIZONTAL); Scrollbar sh2 = new Scrollbar(java.awt.Scrollbar.HORIZONTAL); Scrollbar sv1 = new Scrollbar(java.awt.Scrollbar.VERTICAL); Scrollbar sv2 = new Scrollbar(java.awt.Scrollbar.VERTICAL); String logtest; public ScrollbarTest() { // build layout card.setLayout(new CardLayout()); setLayout(new BorderLayout()); sh1.addAdjustmentListener(this); add(sh1, BorderLayout.NORTH); sh2.addAdjustmentListener(this); add(sh2, BorderLayout.SOUTH); sv1.addAdjustmentListener(this); add(sv1, BorderLayout.EAST); sv2.addAdjustmentListener(this); add(sv2, BorderLayout.WEST); add(card, BorderLayout.CENTER); card.setBackground(Color.green); // setSize(199, 199); logtest = new String(); //"" // show(); } public void adjustmentValueChanged(AdjustmentEvent evt) { Scrollbar changed = (Scrollbar)evt.getAdjustable();//(Scrollbar)evt.getSource(); Scrollbar mirror = getMirror(changed); String eventtype; switch (evt.getAdjustmentType() ) { case AdjustmentEvent.UNIT_DECREMENT: eventtype = "UNIT_DECREMENT (left/upper button pressed)"; break; case AdjustmentEvent.BLOCK_DECREMENT: eventtype = "BLOCK_DECREMENT (clicked scrollbar left of/above scrollbox)"; break; case AdjustmentEvent.TRACK: eventtype = "TRACK (dragged scrollbox)"; break; case AdjustmentEvent.BLOCK_INCREMENT: eventtype = "BLOCK_INCREMENT (clicked scrollbar right of/under scrollbox)"; break; case AdjustmentEvent.UNIT_INCREMENT: eventtype = "UNIT_INCREMENT (right/lower button pressed)"; break; default: eventtype = "Unknown command (if this occurs, shoot the Wonka inplementation programmer)"; } //print scrollbar values logtest += " Settings for Scrollbar <"+getName(changed)+"> : \n"; logtest += " => Event type : "+eventtype + " value : "+evt.getValue()+ "\n"; logtest += " Current value:"+evt.getValue(); logtest += " mirrorred to"+getName(mirror)+ "\n\n"; // mirror settings of changed scrollbar to opposite mirror.setValues(changed.getValue(),changed.getVisibleAmount(),changed.getMinimum(),changed.getMaximum()); } private Scrollbar getMirror(Scrollbar source) { Scrollbar mirror = sv2; // if(source == sv1) if(source == sv2) mirror = sv1; else if(source == sh1) mirror = sh2; else if(source == sh2) mirror = sh1; return mirror; } private String getName(Scrollbar source) { String name = "sv1"; // if(source == sv1) if(source == sv2) name = "sv2"; else if(source == sh1) name = "sh1"; else if(source == sh2) name = "sh2"; return name; } public String getTitle(){ return "ScrollbarTest"; // "ScrollbarTest : coupled horizontal and vertical scrollbars"; } public String getHelpText(){ return getTitle()+":\nShould display a BorderLayout containing two horizontal and two vertical scrollbars.\n" +"The bars are coupled so that every change in one of the bars results in an equal change of its counterpiece."; } public java.awt.Panel getPanel(VisualTester vt){ return this; } public void log(java.awt.Panel p, java.io.Writer w, boolean b)throws java.io.IOException { w.write(logtest); logtest = ""; } public void start(java.awt.Panel p, boolean b){} public void stop(java.awt.Panel p){} static public void main (String[] args) { new ScrollbarTest(); } }