package elte.java2_utikalauz5.gui; /** Görgetősávos színkeverő példaprogram. A színösszetevők mennyiségét a görgetősávokkal fogjuk szabályozni. A bal oldalt, felül és jobb oldalt látható görgetősávok rendre egy szín vörös, zöld és kék összetevői értékeit reprezentálják egy 0 és 255 közé eső egész számmal, ezen értékeket megváltoztatva bármilyen színt ki lehet keverni. A felület közepe mindig az aktuálisan kikevert színben fog megjelenni, alul pedig az aktuális színösszetevők értékei látszanak. @link.forrásfájl {@docRoot}/../data/gui/src ScrollbarTeszt.java @link.letöltés {@docRoot}/../data/gui ScrollbarTeszt.jar @see java.awt.Scrollbar @since Java 2 Útikalauz programozóknak 1.3 */ class ScrollbarTeszt implements java.awt.event.AdjustmentListener { /** Vörös színösszetevő */ private java.awt.Scrollbar vörös = new java.awt.Scrollbar( java.awt.Scrollbar.VERTICAL, 0, 1, 0, 256); /** Zöld színösszetevő */ private java.awt.Scrollbar zöld = new java.awt.Scrollbar( java.awt.Scrollbar.HORIZONTAL, 0, 1, 0, 256); /** Kék színösszetevő */ private java.awt.Scrollbar kék = new java.awt.Scrollbar( java.awt.Scrollbar.VERTICAL, 0, 1, 0, 256); /** Színmegjelenítő komponens */ private java.awt.Canvas szín = new java.awt.Canvas(); /** Színösszetevők kiírásához */ private java.awt.Label színösszetevők = new java.awt.Label(); /** GUI-t felépítő konstruktor. @param felület a felhasználói felületet tartalmazó konténer */ private ScrollbarTeszt( java.awt.Container felület ) { felület.setLayout( new java.awt.BorderLayout() ); felület.add( szín ); felület.add( zöld, java.awt.BorderLayout.NORTH ); zöld.addAdjustmentListener( this ); felület.add( vörös, java.awt.BorderLayout.WEST ); vörös.addAdjustmentListener( this ); felület.add( kék, java.awt.BorderLayout.EAST ); kék.addAdjustmentListener( this ); felület.add( színösszetevők, java.awt.BorderLayout.SOUTH ); színösszetevők.setAlignment(java.awt.Label.CENTER); adjustmentValueChanged( null ); //kezdőszín beállítása } /** Értékváltozás megjelenítése. @param esemény a megváltoztott értéket jelző esemény */ public void adjustmentValueChanged(java.awt.event.AdjustmentEvent esemény) { szín.setBackground(new java.awt.Color( //űj szín kikeverése vörös.getValue(), zöld.getValue(), kék.getValue())); színösszetevők.setText( //színösszetevő értékek megjelenítése "R:"+vörös.getValue()+", G:"+zöld.getValue()+", B:"+kék.getValue()); } /** Teszt grafikus felhasználói felület felépítése. @param felület A felhasználói felületet tartalmazó konténer. @param argumentumok Az indításkor megadott paraméterek. */ public static void felépít(java.awt.Container felület, String argumentumok[]) { new ScrollbarTeszt( felület ); } /** A tesztprogram indítása. @param argumentumok Az indításkor megadott paraméterek. */ public static void main(String argumentumok[]) { java.awt.Frame ablak = new AblakTeszt.Ablak("Színkeverés"); felépít( ablak, argumentumok ); //felület felépítése ablak.setVisible(true); //és megjelenítése } }