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 |
|
|