GFrame and GPanel

De Wiki
Révision de 2 mai 2017 à 07:18 par Admin (discussion | contributions) (Page créée avec « ==== GFrame and GPanel ==== ---- <fc #556B2F>**GENIUS**</fc> proposes most of the same principles as those used by swing with classes as: * javadoc>fr/cnes/genius/c... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

GFrame and GPanel


<fc #556B2F>**GENIUS**</fc> proposes most of the same principles as those used by swing with classes as:

 * [[javadoc>fr/cnes/genius/current/fr/cnes/genius/lowLevel/GFrame.html|GFrame]]
 * [[javadoc>fr/cnes/genius/current/fr/cnes/genius/lowLevel/GPanel.html|GPanel]]
 * …
 * [[javadoc>fr/cnes/genius/current/fr/cnes/genius/lowLevel/GButton.html|GButton]]

GFrame

About [[javadoc>fr/cnes/genius/current/fr/cnes/genius/lowLevel/GFrame.html|GFrame]], nothing particular, except the <fc #4169E1>display()</fc> method which allows the display more easily.


GFrame frame = new GFrame("Test", pan); // see below for the pan object ... frame.display();

GPanel

[[javadoc>fr/cnes/genius/current/fr/cnes/genius/lowLevel/GPanel.html|GPanel]] object is a bit more « complex » because, when created, it is necessary to implement both following methods:

 * <fc #4169E1>display()</fc>
 * <fc #4169E1>generic()</fc>

<fc #4169E1>display()</fc> method will indicate which graphical objects will be concerned for **displaying**. By these means, it is up to GENIUS to __automatically manage refresh__ (no need to call to a « refresh » method); To decide what will be displayed, we only need to call in this method, the <fc #4169E1>put()</fc> method with the object as argument : put(objectName)

<fc #4169E1>generic()</fc> method allows to indicate which graphical objects will be concerned for **displaying** … but also for **reading** or **writing** into files (we will see it later …). Another solution is then to store calls to the <fc #4169E1>put()</fc> method into <fc #4169E1>generic()</fc> and, inside <fc #4169E1>display()</fc> method, only calling the <fc #4169E1>generic()</fc> method.

Examples below show both solutions for dsiplaying a [[javadoc>fr/cnes/genius/current/fr/cnes/genius/lowLevel/GButton.html|GButton]] object.


// Example using display method public class MyPanel extends GPanel {

 private GButton but;
 
 public MyPanel () {
   but = new GButton("Button");
 }
 public void display() throws GException {
   put(but);
 }
 public void generic() { }
 
 public static void main(String[] args) {
   MyPanel pan = new MyPanel();
   GFrame frame = new GFrame("Test", pan);	
   frame.display();
 }

};

// Example using generic method public class MyPanel extends GPanel {

 private GButton but;
 
 public MyPanel () {
   but = new GButton("Button");
 }
 public void display() {
   generic();
 }
 public void generic() throws GException {
   put(but);
 }
 
 public static void main(String[] args) {
   MyPanel pan = new MyPanel();
   GFrame frame = new GFrame("Test", pan);	
   frame.display();
 }

};

//Return to the introduction ↑//\\ //Go to the next page →//