HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Employer des modules de GUI dans Java |
Avant que vous commenciez à employer les composants, vous devriez savoir ce que la classe composante fournira et pouvez vous adapter les composants. Alors dira comment employer les composants ce que l'AWT fournit. Chaque genre de composant a sa propre page :
|
Comment utiliser les boutons
|
La classe de boutons fournit une exécution de bouton de défaut. Onscreen l'aspect des boutons dépend d'une plateforme qu'ils courent dessus. Si vous voulez que les boutons du programme regardent mêmes pour toute la plateforme ou autrement aillent voir spécial, vous devriez créer une sous-classe de toile pour mettre en application ce regard ; le regard ne peut pas être changé en utilisant la sous-classe de bouton. Les seules facettes de l'aspect du bouton que nous pouvons changer sans créer notre propre classe sommes les polices et le texte qu'il montre et des couleurs de premier plan et de fond.
|
Au-dessous de est un applet qui montre trois boutons. Quand vous cliquez le bouton gauche, il neutralise le bouton moyen et permet le droit. De même quand vous cliquez dessus le bouton droit, il permettra le bouton gauche et le bouton moyen, et il se neutralise. Au-dessous de est le code qui créera les boutons et réagit aux clics de bouton.
|
//In initialization code:
b1 = new Button();
b1.setLabel("Disable middle button");
b2 = new Button("Middle button");
b3 = new Button("Enable middle button");
b3.disable();
public boolean handleEvent(Event e)
{
Object target = e.target;
System.out.println("Event received: " + e);
if (e.id == Event.ACTION_EVENT)
{
if (target == b1)
{
b2.disable();
b1.disable();
b3.enable();
} else if (target == b3)
{
b2.enable();
b1.enable();
b3.disable();
}
}
return super.handleEvent(e);
}
|
|
Comment employer les toiles
|
Une classe de toile existent pour être subclassed. Elle ne fera rien seule ; elle fournit simplement la manière de mettre en application les composants faits sur commande. Par exemple, les toiles sont utiles comme zone de visualisation pour des images et les graphiques faits sur commande, si vous souhaitez manipuler les événements qui se produit dans une zone de visualisation.
|
Tout en mettant en application une sous-classe de toile. faire attention pour mettre en application minimumSize () et preferredSize () la méthode pour refléter correctement la taille de la toile. Autrement, selon la disposition que les utilisations du récipient de la toile, votre toile pourraient finir vers le haut trop de petit -- être peut-être même invisible. Voici un exemple de la sous-classe de toile qui montre l'image :
|
class ImageCanvas extends Canvas
{
ImageCanvas(Image img, Dimension prefSize)
{
image = img;
preferredSize = prefSize;
}
public Dimension minimumSize()
{
return preferredSize;
}
public Dimension preferredSize()
{
return preferredSize;
}
public void paint(Graphics g)
{
g.drawImage(image, 0, 0, this);
}
}
|
|
Comment employer le Checkboxes
|
La classe de Checkbox fournit les checkboxes -- boutons de deux états qui peuvent être "ON" ou "OFF". Si nous voulons le groupe de checkboxes dans lesquels seulement un du checkbox peut être "ON" à la fois, vous pouvez ajouter l'objet de CheckboxGroup pour surveiller les checkboxes. D'autres bonnes manières de fournir un groupe d'articles que l'utilisateur peut choisir sont les choix, les listes, et les menus.
|
Donné ci-dessous est le code pour un applet qui contient deux colonnes des checkboxes. Du côté gauche sont trois checkboxes indépendants. Vous pouvez choisir tous trois checkboxes, si vous aimez à. Du côté droit sont les trois checkboxes qui sont coordonnés par l'objet de CheckboxGroup. Le CheckboxGroup ne s'assure pas plus d'un de ses checkboxes est choisi à la fois. Voici le programme qui exécute ceci charge. Au-dessous de est le code qui crée les les deux les groupes de checkboxes. Note : seulement l'en second lieu, groupe mutuel-exclusif de checkboxes est commandé par le CheckboxGroup.
|
Panel p1, p2;
Checkbox cb1, cb2, cb3; //independent checkboxes
Checkbox cb4, cb5, cb6; //only one of these three can be selected
CheckboxGroup cbg;
cb1 = new Checkbox();
cb1.setLabel("Checkbox 1");
cb2 = new Checkbox("Checkbox 2");
cb3 = new Checkbox("Checkbox 3");
cb3.setState(true);
. . .
cbg = new CheckboxGroup();
cb4 = new Checkbox("Checkbox 4", cbg, false);
cb5 = new Checkbox("Checkbox 5", cbg, false);
cb6 = new Checkbox("Checkbox 6", cbg, false);
|
|
Comment employer les choix
|
La classe bien choisie fournit a menu-comme la liste de choix, accédée par le bouton distinctif. L'utilisateur appuie sur le bouton pour évoquer le « menu », et choisit plus tard un des articles de la liste de menu. Un autre nom pour cet élément d'UI est « la liste instantanée ». D'autres manières de fournir les solutions de rechange multiples sont des checkboxes, des listes, et des menus.
|
Au-dessous de est un code d'applet qui a un choix et une étiquette. Quand l'utilisateur choisit l'article de la liste bien choisie, l'étiquette change pour refléter un article choisi ce code crée le choix et manipule les événements de elle. Note : que le deuxième paramètre à la méthode d'action () est une corde de l'article choisi.
|
//...Where instance variables are defined:
Choice choice; //pop-up list of choices
//...Where initialization occurs:
choice = new Choice();
choice.addItem("ichi");
choice.addItem("ni");
choice.addItem("san");
choice.addItem("shi");
label = new Label();
setLabelText(choice.getSelectedIndex(), choice.getSelectedItem());
. . .
public boolean action(Event e, Object arg)
{
if (e.target instanceof Choice)
{
setLabelText(choice.getSelectedIndex(), (String)arg);
return true;
}
return false;
}
}
|
|
Comment employer les dialogues |
La chose qui distingue des dialogues des fenêtres régulières (qui sont mis en application avec des objets de vue) est que le dialogue dépend d'une autre fenêtre (vue d'i'e). Quand cette autre fenêtre est détruite, et ainsi sont ses dialogues dépendants. Quand cette autre fenêtre est étée iconified, ses dialogues dépendants disparaîtra de l'écran. Quand la fenêtre est étée deiconified, ses dialogues dépendants reviennent à l'écran. L'AWT nous fournit automatiquement ce comportement.
|
Puisqu'aucun api pas actuellement existe a laissé les applet trouver la fenêtre qu'ils courent dedans, les applet généralement ne peuvent pas employer des dialogues. L'exception est les applet qui apportent vers le haut leurs propres fenêtres peuvent avoir les dialogues dépendants de ces fenêtres. Pour cette raison, l'applet suivant comprend le bouton qui apporte vers le haut la fenêtre qui évoque un dialogue. Voici le code pour la fenêtre que l'applet apporte vers le haut. Ce code peut être couru comme application autonome ou, avec l'aide de la classe d'AppletButton, car un applet ici est le code qui traite l'objet de dialogue :
|
//[HOW DO I MAKE THIS GET THE FOCUS?]
class SimpleDialog extends Dialog
{
private TextField field;
private DialogWindow parent;
private Button setButton;
SimpleDialog(Frame dw, String title)
{
super(dw, title, false);
parent = (DialogWindow)dw;
//Create and add components, such as the set button....
resize(350, 125);
}
public boolean action(Event event, Object arg)
{
if ( (event.target == setButton)
| (event.target instanceof TextField))
{
parent.setText(field.getText());
}
field.selectAll();
hide();
return true;
}
}
|
|
Comment employer les armatures
|
La classe de vue fournit les fenêtres pour des applet et des applications. Chaque application a besoin de la vue de l'atleast un. Si une application a la fenêtre qui devrait dépendre d'une autre fenêtre -- disparaître quand l'autre fenêtre est iconified, par exemple -- alors vous devriez employer le dialogue au lieu de la vue pour la fenêtre dépendante. (Malheureusement, les applet ne peuvent pas employer les dialogues actuellement bien, ainsi ils doivent employer les armatures.)
|
Au-dessous de est un code pour les usages de démonstration de menu de créer la fenêtre et de manipuler le cas où l'utilisateur ferme la fenêtre.
|
public class MenuWindow extends Frame
{
private boolean inAnApplet = true;
private TextArea output;
public MenuWindow()
{
//This constructor implicitly calls the Frame no-argument
//constructor and then adds components to the window.
}
public boolean handleEvent(Event event)
{
if (event.id == Event.WINDOW_DESTROY)
{
if (inAnApplet)
{
dispose();
} else
{
System.exit(0);
}
}
return super.handleEvent(event);
}
. . .
public static void main(String args[])
{
MenuWindow window = new MenuWindow();
window.inAnApplet = false;
window.setTitle("MenuWindow Application");
window.resize(250, 90);
window.show();
}
}
|
|
Comment employer les étiquettes
|
La classe d'étiquette fournit une manière facile pour mettre le texte uneditable et unselectable dans le GUI du programme. Les étiquettes sont alignées à la gauche de leur secteur de dessin, par défaut. nous pouvons indiquer qu'elles soient centrées ou droit-alignées en indiquant le Label.CENTER ou par Label.RIGHT pour marquer le constructeur ou sur la méthode de setAlignment (). Comme avec chaque composant, vous pouvez également faire indiquez la police et la couleur de l'étiquette.
|
Donnés ci-dessous sont les applet qui emploient des étiquettes. Le premier applet (LabelDemo) crée simplement trois étiquettes avec un alignement (gauche) de défaut, les met dans le GridLayout, et puis les montre. Voici le code pour LabelDemo.
|
import java.awt.*;
import java.applet.Applet;
public class LabelDemo extends Applet
{
public void init()
{
Label l1 = new Label();
l1.setText("Label 1");
Label l2 = new Label("Label 2");
Label l3 = new Label("Label 3");
//Add Components to the Applet.
setLayout(new GridLayout(0, 1));
add(l1);
add(l2);
add(l3);
validate();
}
}
|
|
Le deuxième applet (LabelAlignDemo) fait mêmes, sauf que lui se servent de chacun des trois alignements possibles. Puisque l'applet est plus large que nécessaire de montrer le texte, et parce que le GridLayout emploie tout espace disponible, les étiquettes ont la zone de visualisation plus large qu'elles ont besoin. Ceci a comme conséquence la différence évidente en position horizontale des trois étiquettes différent alignées.
|
import java.awt.*;
import java.applet.Applet;
public class LabelAlignDemo extends Applet
{
public void init()
{
Label l1 = new Label();
l1.setText("Left");
Label l2 = new Label("Center");
l2.setAlignment(Label.CENTER);
Label l3 = new Label("Right", Label.RIGHT);
//Add Components to the Applet.
setLayout(new GridLayout(0, 1));
add(l1);
add(l2);
add(l3);
validate();
}
}
|
|
Au-dessous de est un code que LabelAlignDemo emploie pour créer les étiquettes et a placé leur alignement. Afin de l'enseignement, cet applet emploie tous constructeurs de trois étiquettes.
|
Label l1 = new Label();
l1.setText("Left");
Label l2 = new Label("Center");
l2.setAlignment(Label.CENTER);
Label l3 = new Label("Right", Label.RIGHT);
|
|
Comment employer les listes
|
La classe de liste fournit le secteur scrollable contenant les articles sélectionnables des textes (un pour chaque ligne). Les listes peuvent permettre des choix multiples ou seulement un choix à la fois. D'autres composants qui permet aux utilisateurs de choisir des choix multiples sont des checkboxes (groupes de checkbox en particulier), des choix, et des menus.
|
Au-dessous de est le code pour un applet qui montre deux listes. La première liste (qui énumère dehors les nombres espagnols) permet des choix multiples. La deuxième liste (qui énumère les nombres italiens) permet un maximum d'un choix. Au-dessous de est un code qui crée chaque liste et manipule des événements sur la liste. Note : les données d'e.arg pour des événements d'action sont le nom de l'agir-sur l'article (semblable à l'argument pour des événements d'action sur d'autres composants tels que des boutons et les menus). Cependant, les données d'e.arg pour d'autres événements de liste sont un certain nombre agir-sur l'article.
|
//where instance variables are declared:
TextArea output;
List spanish, italian;
//where initialization occurs:
//Build first list, which allows multiple selections.
spanish = new List(4, true); //prefer 4 items visible
spanish.addItem("uno");
spanish.addItem("dos");
spanish.addItem("tres");
spanish.addItem("cuatro");
spanish.addItem("cinco");
spanish.addItem("seis");
spanish.addItem("siete");
//Build second list, which allows one selection at a time.
italian = new List(); //Defaults to none visible, only one selectable
italian.addItem("uno");
italian.addItem("due");
italian.addItem("tre");
italian.addItem("quattro");
italian.addItem("cinque");
italian.addItem("sei");
italian.addItem("sette");
. . .
public boolean handleEvent(Event e)
{
if (e.target instanceof List)
{
List list = (List)(e.target);
String language = (list == spanish) ?
"Spanish" : "Italian";
switch (e.id)
{
case Event.ACTION_EVENT:
String string = (String)e.arg;
output.appendText("Action event occurred on \""
+ string + "\" in "
+ language + ".\n");
break;
case Event.LIST_SELECT:
int sIndex = ((Integer)e.arg).intValue();
output.appendText("Select event occurred on item #"
+ sIndex + " (\""
+ list.getItem(sIndex) + "\") in "
+ language + ".\n");
break;
case Event.LIST_DESELECT:
int dIndex = ((Integer)e.arg).intValue();
output.appendText("Deselect event occurred on item #"
+ dIndex + " (\""
+ list.getItem(dIndex) + "\") in "
+ language + ".\n");
}
}
return super.handleEvent(e);
}
|
|
Comment employer les menus
|
L'applet donné ci-dessus montre plusieurs des dispositifs de menu que nous sommes susceptibles pour employer. La fenêtre qu'il apporte a vers le haut la barre de menu qui contient quatre menus. Chaque menu contient un ou plusieurs que les articles un. Le menu 1 est un menu d'arrachement ; en cliquant un à ligne pleine [exécution-spécifique ?], nous créons une nouvelle fenêtre qui contient les mêmes articles de menu que le menu 1. L'article du menu 2 seulement a un checkbox. Le menu 3 contient le séparateur entre son deuxième et les troisième articles. Le menu 4 est le menu d'aide d'une fenêtre, qui (selon une plateforme) généralement des moyens qu'elle est placée au loin vers la droite. Quand nous cliquons sur tous les articles de menu, les vitrines le témoin de corde quel article a été cliqué et quel menu il est po.
|
Voici le code pour la fenêtre que l'applet ci-dessus apporte vers le haut. Ce code peut fonctionner comme application autonome ou, avec l'aide d'une classe d'AppletButton, comme applet. Voici le code qui traite des menus :
|
public MenuWindow()
{
MenuBar mb;
Menu m1, m2, m3, m4;
MenuItem mi1_1, mi1_2, mi3_1, mi3_2, mi3_3, mi3_4, mi4_1, mi4_2;
CheckboxMenuItem mi2_1;
// ...Add the output displayer to this window...
//Build the menu bar.
mb = new MenuBar();
setMenuBar(mb);
//Build first menu in the menu bar.
m1 = new Menu("Menu 1", true);
mb.add(m1);
mi1_1 = new MenuItem("Menu Item 1_1");
m1.add(mi1_1);
mi1_2 = new MenuItem("Menu Item 1_2");
m1.add(mi1_2);
//Build help menu. Note that order in which it's added doesn't matter.
m4 = new Menu("Menu 4");
mb.add(m4); //Just setting the help menu doesn't work; must add it.
mb.setHelpMenu(m4);
mi4_1 = new MenuItem("Menu Item 4_1");
m4.add(mi4_1);
mi4_2 = new MenuItem("Menu Item 4_2");
m4.add(mi4_2);
//Build second menu in the menu bar.
m2 = new Menu("Menu 2");
mb.add(m2);
mi2_1 = new CheckboxMenuItem("Menu Item 2_1");
m2.add(mi2_1);
//Build third menu in the menu bar.
m3 = new Menu("Menu 3");
mb.add(m3);
mi3_1 = new MenuItem("Menu Item 3_1");
m3.add(mi3_1);
mi3_2 = new MenuItem("Menu Item 3_2");
m3.add(mi3_2);
m3.addSeparator();
mi3_3 = new MenuItem("Menu Item 3_3");
m3.add(mi3_3);
mi3_4 = new MenuItem("Menu Item 3_4");
mi3_4.disable();
m3.add(mi3_4);
}
public boolean action(Event event, Object arg)
{
String str = "Action detected";
if (event.target instanceof MenuItem)
{
MenuItem mi=(MenuItem)(event.target);
str += " on " + arg; v
if (mi instanceof CheckboxMenuItem)
{
str += " (state is "
+ ((CheckboxMenuItem)mi).getState()
+ ")";
}
MenuContainer parent = mi.getParent();
if (parent instanceof Menu)
{
str += " in " + ((Menu)parent).getLabel();
} else
{
str += " in a container that isn't a Menu";
}
}
str += ".\n";
//...Display string in the output area...
return false;
}
|
|
Comment employer les panneaux
|
Panel p1 = new Panel();
p1.add(new Button("Button 1"));
p1.add(new Button("Button 2"));
p1.add(new Button("Button 3"));
|
|
Comment employer le Scrollbars
|
public boolean handleEvent(Event evt)
{
switch (evt.id)
{
case Event.SCROLL_LINE_UP:
case Event.SCROLL_LINE_DOWN:
case Event.SCROLL_PAGE_UP:
case Event.SCROLL_PAGE_DOWN:
case Event.SCROLL_ABSOLUTE:
if (evt.target == vert)
{
canvas.ty = ((Integer)evt.arg).intValue();
canvas.repaint();
}
if (evt.target == horz)
{
canvas.tx = ((Integer)evt.arg).intValue();
canvas.repaint();
}
}
return super.handleEvent(evt);
}
|
|
Comment employer le TextAreas et le TextFields
|
//Where instance variables are defined:
TextField textField;
TextArea textArea;
public void init()
{
textField = new TextField(20);
textArea = new TextArea(5, 20);
textArea.setEditable(false);
...//Add the two components to the panel.
}
public boolean handleEvent(Event evt)
{
if (evt.id == Event.ACTION_EVENT)
{
String text = textField.getText();
textArea.appendText(text + "\n");
textField.selectAll();
}
return super.handleEvent(evt);
}
|
|
Keywords: JoltBeans.
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|