JavaK Jou gratis hulpbron vir Java Kennis! ENGLISH  
     
  Tuisblad Kontak Artikels Projekte Vrae en Antwoorde Skakels  
     
 


JPanel en wat dit alles kan doen.

Om effektief GUI (Graphical User Interface) programmering te kan doen, is dit belangrik om vertroud te wees met die verskillende komponente wat Java jou bied in die Swing biblioteek. Die heel eerste komponent waarna ek graag wil kyk is JPanel. JPanel is 'n uitbreiding (extension) van JComponent en ook van die Container klas.

Dis nie altyd so maklik om die Java dokumentasie te lees nie, maar wanneer jy JPanel opsoek sien jy 'n paar dinge wat jou gedagtes aan die gang moet sit. Alhoewel JPanel gewoonlik net gebruik word as 'n houer (container) vir ander komponente, kan JPanel op sy eie ook baie nuttig wees. Nie net kan JPanel alles doen wat JComponent kan doen nie, maar JPanel kan ook ander komponente huisves. Kom ons kyk na 'n paar eenvoudige dinge wat jy met JPanel kan doen :

Spesifiseer die grote van die JPanel:
Indien jou uitleg (layout) dit toelaat, kan jy die grote van die JPanel maklik stel. Die volgende stukkie kode verstel 'n JPanel se wydte na 300 pixels en sy hoogte na 200 pixels.

                      JPanel myPanel = new JPanel();
                      myPanel.setPreferredSize(300, 200);
                    

Spesifiseer die kleur van die JPanel:
Net so maklik kan die kleur van die JPanel ook verstel word indien nodig. Daar is twee maniere om die verlange kleur aan te dui. Jy kan gebruik maak van die ingeboude kleure in Swing of jy kan natuurlik jou eie kleur saamstel. Die volgende is 'n verkorte lysie van die kleure wat reeds in Java beskikbaar is :
  • BLACK
  • BLUE
  • CYAN
  • DARK_GRAY
  • GRAY
  • GREEN
  • LIGHT_GRAY
  • MAGENTA
  • ORANGE
  • PINK
  • RED
  • WHITE
  • YELLOW

Behalwe vir die basiese kleure kan jy ook mos jou eie kleure saamstel. Vir diegene wat nog nie weet hoe rekenaar-kleure werk nie, is hier 'n blitsige les in RGB kleure. RGB kleure werk in kombinases van Rooi, Groen en Blou, vandaar dan die afkorting RGB. Elke kleur wat jou rekenaar kan voorstel is 'n kombinase van die drie basiese kleure. Die hoeveelheid van elke kleur wissel vanaf 0 tot by 255. Hoe groter die getal hoe meer van daardie kleur kom voor in die finale skakering soos gegenereer deur die rekenaar. Verskillende kombinasies kleure kan dus maklik geskep word deur die drie basiese kleure te kombineer. Hier volg 'n paar basiese kleure wat gemeng kan word. Jy kan die voorbeelde gebruik om jou eie kleure te skep.
Color(255,255,255)              Color(255,0,0)        
Color(0,255,255)              Color(255,0,255)        
Color(0,0,255)              Color(128,128,50)        
Color(50,100,150)              Color(0,0,0)        
Color(128,128,0)              Color(150,150,150)        
Color(200,100,135)              Color(88,175,200)        

Soos jy seker kan aflei is daar 'n Color klas in Java wat drie parameters vat. Dit skep 'n nuwe Color tipe met die skakerings van Rooi, Groen en Blou soos verlang. Die Color tipe kan dan gebruik word in Java. Dis nie net JPanel wat so verkleurmannetjie kan speel nie, bykans al die Java komponente se kleure kan verstel word. Die volgende bronkode wys dan hoe om dit te doen:

                      JPanel myPanel = new JPanel();
                      myPanel.setBackground(Color.GRAY);
                      myPanel.setBackground(new Color(100,200,130));
                    

Die eerste setBackground opdrag gebruik die ingeboude GRAY wat gevind word in die Java Swing biblioteek. Die tweede opdrag skep 'n nuwe kleur en stel dan die JPanel se agtergrond kleur na die spesifieke kleur toe. Die volgende skerm kan dus maklik geskep word. Bronkode volg na prent.



                      import javax.swing.*;
                      import java.awt.*;
                      import java.awt.event.*;
                      /**
                      * Eenvoudige program wat 'n JFrame skep en dan 'n JPanel daarop plaas.
                      * Die JPanel se kleur word dan verstel.
                      */
                      public class JPanel1 extends JFrame
                      {
                      public JPanel1 ()
                      {
                      super ("JPanel1 Hoof Raam");
                      getContentPane ().setLayout (new FlowLayout ());
                      setSize (600, 250);
                      getContentPane ().setLayout (new FlowLayout (FlowLayout.LEFT));
                      JPanel panel = new JPanel ();
                      panel.setPreferredSize (new Dimension (190, 100));
                      panel.setBackground (new Color (10, 100, 200));
                      getContentPane ().add (panel);
                      panel = new JPanel ();
                      panel.setPreferredSize (new Dimension (190, 100));
                      panel.setBackground (new Color (110, 100, 200));
                      getContentPane ().add (panel);
                      panel = new JPanel ();
                      panel.setPreferredSize (new Dimension (190, 100));
                      panel.setBackground (new Color (110, 200, 200));
                      getContentPane ().add (panel);
                      panel = new JPanel ();
                      panel.setPreferredSize (new Dimension (190, 100));
                      panel.setBackground (Color.YELLOW);
                      getContentPane ().add (panel);
                      panel = new JPanel ();
                      panel.setPreferredSize (new Dimension (190, 100));
                      panel.setBackground (Color.MAGENTA);
                      getContentPane ().add (panel);
                      panel = new JPanel ();
                      panel.setPreferredSize (new Dimension (190, 100));
                      panel.setBackground (Color.ORANGE);
                      getContentPane ().add (panel);
                      setLocationRelativeTo (null);
                      addWindowListener (new WindowAdapter ()
                      {
                      public void windowClosing (WindowEvent e)
                      {
                      System.exit (0);
                      }
                      }
                      );
                      }
                      public static void main (String[] args)
                      {
                      JPanel1 program = new JPanel1 ();
                      program.setVisible (true);
                      }
                      }
                    


Die Skrywer
Hierdie artikel oor Swing JPanels is geskryf deur Ewald Horn en word gratis gehuisves deur JavaK. Besoek gerus vir www.javak.co.za vir meer artikels deur Ewald Horn. Die skrywer se tuisblad is te vinde by www.nofuss.co.za.