Academic Tutorials



English | French | Portugese | Dutch | Italian
Google

in linea

Domestico Codici sorgente E-Libri Trasferimenti dal sistema centrale verso i satelliti Metterseli in contatto con Circa noi

HTML Tutorials
HTML Tutorial
XHTML Tutorial
CSS Tutorial
TCP/IP Tutorial
CSS 1.0
CSS 2.0
HLML
XML Tutorials
XML Tutorial
XSL Tutorial
XSLT Tutorial
DTD Tutorial
Schema Tutorial
XForms Tutorial
XSL-FO Tutorial
XML DOM Tutorial
XLink Tutorial
XQuery Tutorial
XPath Tutorial
XPointer Tutorial
RDF Tutorial
SOAP Tutorial
WSDL Tutorial
RSS Tutorial
WAP Tutorial
Web Services Tutorial
Browser Scripting
JavaScript Tutorial
VBScript Tutorial
DHTML Tutorial
HTML DOM Tutorial
WMLScript Tutorial
E4X Tutorial
Server Scripting
ASP Tutorial
PERL Tutorial
SQL Tutorial
ADO Tutorial
CVS
Python
Apple Script
PL/SQL Tutorial
SQL Server
PHP
.NET (dotnet)
Microsoft.Net
ASP.Net
.Net Mobile
C# : C Sharp
ADO.NET
VB.NET
VC++
Multimedia
SVG Tutorial
Flash Tutorial
Media Tutorial
SMIL Tutorial
Photoshop Tutorial
Gimp Tutorial
Matlab
Gnuplot Programming
GIF Animation Tutorial
Scientific Visualization Tutorial
Graphics
Web Building
Web Browsers
Web Hosting
W3C Tutorial
Web Building
Web Quality
Web Semantic
Web Careers
Weblogic Tutorial
SEO
Web Site Hosting
Domain Name
Java Tutorials
Java Tutorial
JSP Tutorial
Servlets Tutorial
Struts Tutorial
EJB Tutorial
JMS Tutorial
JMX Tutorial
Eclipse
J2ME
JBOSS
Programming Langauges
C Tutorial
C++ Tutorial
Visual Basic Tutorial
Data Structures Using C
Cobol
Assembly Language
Mainframe
Forth Programming
Lisp Programming
Pascal
Delphi
Fortran
OOPs
Data Warehousing
CGI Programming
Emacs Tutorial
Gnome
ILU
Soft Skills
Communication Skills
Time Management
Project Management
Team Work
Leadership Skills
Corporate Communication
Negotiation Skills
Database Tutorials
Oracle
MySQL
Operating System
BSD
Symbian
Unix
Internet
IP-Masquerading
IPC
MIDI
Software Testing
Testing
Firewalls
SAP Module
ERP
ABAP
Business Warehousing
SAP Basis
Material Management
Sales & Distribution
Human Resource
Netweaver
Customer Relationship Management
Production and Planning
Networking Programming
Corba Tutorial
Networking Tutorial
Microsoft Office
Microsoft Word
Microsoft Outlook
Microsoft PowerPoint
Microsoft Publisher
Microsoft Excel
Microsoft Front Page
Microsoft InfoPath
Microsoft Access
Accounting
Financial Accounting
Managerial Accounting


Usando i blocchetti di costruzione del GUI in Java

Previous Next





Prima che cominci usando i componenti, dovreste sapere che cosa il codice categoria componente fornirà e potete adattare i componenti per il cliente. Allora dirà a come usare i componenti quale il AWT fornisce. Ogni genere del componente ha relativa propria pagina:




Come utilizzare i tasti

Il codice categoria dei tasti fornisce un'esecuzione del tasto di difetto. Onscreen l'apparenza dei tasti dipende da una piattaforma che stanno funzionando sopra. Se desiderate i tasti del programma osservare stessi per tutta la piattaforma o al contrario avere uno sguardo speciale, dovreste generare una sottoclasse della tela di canapa per effettuare questo sguardo; lo sguardo non può essere cambiato usando la sottoclasse del tasto. Le uniche sfaccettature dell'apparenza del tasto che possiamo cambiare senza generare il nostro proprio codice categoria siamo le serie complete di caratteri ed il testo che visualizza e dei colori della priorità bassa e della priorità alta.

Sotto è un applet che visualizza tre tasti. Quando scattate il tasto di sinistra, inabilita il tasto centrale e permette quello di destra. Similmente quando sullo scatto il tasto di destra, esso permetterete il tasto di sinistra ed il tasto centrale ed esso si inabilita. Sotto è il codice che genererà i tasti e reagisce agli scatti del tasto.

//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);
}




Come usare le tele di canapa

Un codice categoria della tela di canapa esiste per essere subclassed. Non farà nulla da sè; soltanto fornisce il senso effettuare i componenti su ordinazione. Per esempio, le tele di canapa sono utili come zona di esposizione per le immagini ed i grafici su ordinazione, se o non desiderate maneggiare gli eventi che si presentano all'interno di una zona di esposizione.

Mentre effettuando una sottoclasse della tela di canapa. ciao per effettuare minimumSize () e preferredSize () il metodo per riflettere correttamente il formato della tela di canapa. Altrimenti, secondo la disposizione che gli usi del contenitore della tela di canapa, la vostra tela di canapa potrebbero concludere su troppo piccolo -- forse persino essere invisibile. Qui è un esempio della sottoclasse della tela di canapa che visualizza l'immagine:

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);
}
}




Come usare il Checkboxes

Il codice categoria di Checkbox fornisce i checkboxes -- due-dichiarare i tasti che possono essere "ON" o "OFF". Se desideriamo il gruppo dei checkboxes in cui soltanto uno del checkbox può essere "ON" alla volta, potete aggiungere l'oggetto di CheckboxGroup per sorvegliare i checkboxes. Altri buoni sensi di fornire un gruppo degli articoli che l'utente può selezionare sono le scelte, le liste ed i menu.

È dato sotto il codice per un applet che contiene due colonne dei checkboxes. A sinistra sono tre checkboxes indipendenti. Potete selezionare tutti i tre checkboxes, se gradite a. A destra sono i tre checkboxes che sono coordinati dall'oggetto di CheckboxGroup. Il CheckboxGroup non si accerta nient'altro di uno dei relativi checkboxes è selezionato alla volta. Qui è il programma che effettua questa operazione. Sotto è il codice che genera gli entrambi gruppi dei checkboxes. Nota: soltanto il secondo, gruppo reciproco-esclusivo dei checkboxes è controllato dal 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);




Come usare le scelte

Il codice categoria Choice fornisce la a menu-come la lista delle scelte, raggiunta dal tasto distintivo. L'utente preme il tasto per portare in su “il menu„ e più successivamente sceglie uno degli articoli dalla lista del menu. Un altro nome per questo elemento di UI è “la lista pop-up„. Altri sensi di fornire le alternative multiple sono checkboxes, liste e menu.

Sotto è un codice del applet che ha una scelta e un'etichetta. Quando l'utente sceglie l'articolo dalla lista Choice, l'etichetta cambia per riflettere un articolo scelto questo codice genera la scelta e gli maneggia gli eventi. Nota: che il secondo parametro al metodo di azione () è una stringa dall'articolo selezionato.

//...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;
}
}




Come usare i dialoghi

La cosa che distingue i dialoghi dalle finestre normali (che sono effettuate con gli oggetti della pagina) è che il dialogo dipende da una certa altra finestra (pagina del i'e). Quando questa altra finestra è distrutta ed in modo da sono i relativi dialoghi dipendenti. Quando quella altra finestra è stata iconified, i relativi dialoghi dipendenti sparirà dallo schermo. Quando la finestra è stata deiconified, i relativi dialoghi dipendenti rinviano allo schermo. Il AWT fornisce automaticamente questo comportamento noi.

Poiché nessun api attualmente esiste ha lasciato i applet trovare la finestra che stanno funzionando dentro, i applet non possono usare generalmente i dialoghi. L'eccezione è i applet che portano in su le loro proprie finestre possono avere i dialoghi dipendenti da quelle finestre. Per questo motivo, il seguente applet consiste del tasto che porta in su la finestra che porta in su un dialogo. Qui è il codice per la finestra che il applet porta in su. Questo codice può essere fatto funzionare come applicazione autonoma o, con l'aiuto del codice categoria di AppletButton, poichè un applet qui è il codice che si occupa dell'oggetto di dialogo:

//[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;
}
}




Come usare le strutture

Il codice categoria della pagina fornisce le finestre per i applet e le applicazioni. Ogni applicazione ha bisogno della pagina del atleast uno. Se un'applicazione ha la finestra che dovrebbe dipendere da un'altra finestra -- sparire quando l'altra finestra è iconified, per esempio -- allora dovreste usare il dialogo anziché la pagina per la finestra dipendente. (Purtroppo, i applet non possono usare attualmente i dialoghi bene, in modo da devono usare le strutture.)

Sotto è un codice affinchè gli usi di dimostrazione del menu generi la finestra e maneggiare il caso dove l'utente chiude la finestra.

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();
}
}




Come usare le etichette

Il codice categoria dell'etichetta fornisce un senso facile per mettere il testo uneditable e unselectable nel GUI del programma. Le etichette sono state allineate alla sinistra della loro zona di disegno, per difetto. possiamo specificare che sono concentrate o di destra-allineate specificando il Label.CENTER o da Label.RIGHT per identificare il costruttore o al metodo di setAlignment (). Come con ogni componente, potete anche fare specificate la serie completa di caratteri ed il colore dell'etichetta.

Sono dati sotto i applet che usano le etichette. Il primo applet (LabelDemo) genera semplicemente tre etichette con un allineamento (di sinistra) di difetto, le mette nel GridLayout ed allora le visualizza. Qui è il codice per 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();
}
}

Il secondo applet (LabelAlignDemo) lo fa stessi, salvo che usa tutti e tre gli allineamenti possibili. Poiché il applet è più largo di necessario visualizzare il testo e perché il GridLayout usa tutto lo spazio disponibile, le etichette hanno la zona di esposizione più larga che hanno bisogno di. Ciò provoca la differenza visibile in una posizione orizzontale delle tre etichette differente state allineate.

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();
}
}

Sotto è un codice che LabelAlignDemo usa generare le etichette ed ha regolato il loro allineamento. Allo scopo di insegnare, questo applet usa tutti i costruttori delle tre etichette.

Label l1 = new Label();
l1.setText("Left");
Label l2 = new Label("Center");
l2.setAlignment(Label.CENTER);
Label l3 = new Label("Right", Label.RIGHT);




Come usare le liste

Il codice categoria della lista fornisce la zona scrollable che contiene gli articoli selettivi del testo (uno per ogni linea). Le liste possono permettere le selezioni multiple o soltanto una selezione alla volta. Altri componenti che permette che gli utenti scelgano dalle selezioni multiple sono checkboxes (gruppi del checkbox specialmente), scelte e menu.

Sotto è il codice per un applet che mostra due liste. La prima lista (che elenca fuori i numeri spagnoli) permette le selezioni multiple. La seconda lista (che elenca i numeri italiani) permette un massimo di una selezione. Sotto è un codice che genera ogni lista e maneggia gli eventi sulla lista. Nota: i dati di e.arg per gli eventi di azione sono il nome dell'comport-sull'articolo (simile alla discussione per gli eventi di azione su altri componenti quali i tasti ed i menu). Tuttavia, i dati di e.arg per altri eventi della lista sono un certo numero comport-sull'articolo.

//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);
}




Come usare i menu

Il applet dato sopra mostra molte delle caratteristiche che del menu siamo probabili per usare. La finestra che porta in su ha barra dei menu che contiene quattro menu. Ogni menu contiene uno o più che gli articoli uno. Il menu 1 è un menu di sradicamento; scattando un a linea tratteggiata [esecuzione-specifico?], generiamo una nuova finestra che contiene le stesse voci di menu del menu 1. L'articolo del menu 2 soltanto ha un checkbox. Il menu 3 contiene il separatore fra il relativo secondo ed i terzi articoli. Il menu 4 è menu di aiuto della finestra, che (secondo una piattaforma) generalità mezzi che è regolata fuori alla destra. Quando scattiamo sopra tutte le voci di menu, le esposizioni di finestra indicare della stringa quale articolo è stato scattato e che menu è poll.

Qui è il codice per la finestra che il suddetto applet porta in su. Questo codice può funzionare come applicazione autonoma o, con l'aiuto di un codice categoria di AppletButton, come applet. Qui è il codice che si occupa dei menu:

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




Come usare i pannelli
Panel p1 = new Panel();
p1.add(new Button("Button 1"));
p1.add(new Button("Button 2"));
p1.add(new Button("Button 3"));




Come usare lo 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);
}




Come usare il TextAreas e il 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);
}





Previous Next

Keywords: JoltBeans.


HTML Quizes
HTML Quiz
XHTML Quiz
CSS Quiz
TCP/IP Quiz
CSS 1.0 Quiz
CSS 2.0 Quiz
HLML Quiz
XML Quizes
XML Quiz
XSL Quiz
XSLT Quiz
DTD Quiz
Schema Quiz
XForms Quiz
XSL-FO Quiz
XML DOM Quiz
XLink Quiz
XQuery Quiz
XPath Quiz
XPointer Quiz
RDF Quiz
SOAP Quiz
WSDL Quiz
RSS Quiz
WAP Quiz
Web Services Quiz
Browser Scripting Quizes
JavaScript Quiz
VBScript Quiz
DHTML Quiz
HTML DOM Quiz
WMLScript Quiz
E4X Quiz
Server Scripting Quizes
ASP Quiz
PERL Quiz
SQL Quiz
ADO Quiz
CVS Quiz
Python Quiz
Apple Script Quiz
PL/SQL Quiz
SQL Server Quiz
PHP Quiz
.NET (dotnet) Quizes
Microsoft.Net Quiz
ASP.Net Quiz
.Net Mobile Quiz
C# : C Sharp Quiz
ADO.NET Quiz
VB.NET Quiz
VC++ Quiz
Multimedia Quizes
SVG Quiz
Flash Quiz
Media Quiz
SMIL Quiz
Photoshop Quiz
Gimp Quiz
Matlab Quiz
Gnuplot Programming Quiz
GIF Animation Quiz
Scientific Visualization Quiz
Graphics Quiz
Web Building  Quizes
Web Browsers Quiz
Web Hosting Quiz
W3C Quiz
Web Building Quiz
Web Quality Quiz
Web Semantic Quiz
Web Careers Quiz
Weblogic Quiz
SEO Quiz
Web Site Hosting Quiz
Domain Name Quiz
Java Quizes
Java Quiz
JSP Quiz
Servlets Quiz
Struts Quiz
EJB Quiz
JMS Quiz
JMX Quiz
Eclipse Quiz
J2ME Quiz
JBOSS Quiz
Programming Langauges Quizes
C Quiz
C++ Quiz
Visual Basic Quiz
Data Structures Using C Quiz
Cobol Quiz
Assembly Language Quiz
Mainframe Quiz
Forth Programming Quiz
Lisp Programming Quiz
Pascal Quiz
Delphi Quiz
Fortran Quiz
OOPs Quiz
Data Warehousing Quiz
CGI Programming Quiz
Emacs Quiz
Gnome Quiz
ILU Quiz
Soft Skills Quizes
Communication Skills Quiz
Time Management Quiz
Project Management Quiz
Team Work Quiz
Leadership Skills Quiz
Corporate Communication Quiz
Negotiation Skills Quiz
Database Quizes
Oracle Quiz
MySQL Quiz
Operating System Quizes
BSD Quiz
Symbian Quiz
Unix Quiz
Internet Quiz
IP-Masquerading Quiz
IPC Quiz
MIDI Quiz
Software Testing Quizes
Testing Quiz
Firewalls Quiz
SAP Module Quizes
ERP Quiz
ABAP Quiz
Business Warehousing Quiz
SAP Basis Quiz
Material Management Quiz
Sales & Distribution Quiz
Human Resource Quiz
Netweaver Quiz
Customer Relationship Management Quiz
Production and Planning Quiz
Networking Programming Quizes
Corba Quiz
Networking Quiz
Microsoft Office Quizes
Microsoft Word Quiz
Microsoft Outlook Quiz
Microsoft PowerPoint Quiz
Microsoft Publisher Quiz
Microsoft Excel Quiz
Microsoft Front Page Quiz
Microsoft InfoPath Quiz
Microsoft Access Quiz
Accounting Quizes
Financial Accounting Quiz
Managerial Accounting Quiz

Privacy Policy
Copyright © 2003-2024 Vyom Technosoft Pvt. Ltd., All Rights Reserved.