GFrame and GPanel
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 →//