Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Ferestre

java


Ferestre

Suprafe]ele de afi[are ale unei componente grafice sunt extensii ale clasei Container. Dup\ cum am v\zut, pentru implementarea unui applet s-au folosit suprafe]ele de afi[are Applet [i Panel. O aplica]ie intependent\ are īns\ nevoie de propriile ferestre pe care s\ fac\ afi[area componentelor grafice. Pentru dezvoltarea aplica]iilor care folosesc grafic\ se vor folosi clasele Window, Frame, Dialog




Clasa Window

Clasa Window este rar utilizat\ īn mod direct. Ea permite crearea unor ferestre top-level care nu au chenar [i nici bar\ de meniuri. Pentru a crea ferestre mai complexe se utilizeaz\ clasele Frame [i Dialog.

Constructor

Window (Frame)

Constructs a new Window initialized to an invisible state.

Metode

addNotify () Creates the Window's peer.

dispose()

Gestionarul implicit al clasei Window este BorderLayout. Din acest motiv, īn momentul īn care fereastra este creat\ dar nici o component\ grafic\ nu este pus\ pe suprafa]a ei, suprafa]a de afi[are a feretrei va fi nul\.

Acela[i efect īl vom ob]ine dac\ o redimenion\m [i apel\m apoi metoda pack() care determin\ dimeniunea suprafe]ei de afi[are īn func]ie de componentele grafice afi[ate pe ea.

Se observ\ de asemenea c\ butoanele de maximizare, minimizare [i īnchidere ale ferestrei nu sunt func]ionale. Aceasta deoarece, similar celorlalte butoane, ele genereaz\ ni[te evenimente care īns\ nu sunt recep]ionate de obiectul care reprezint\ fereastra deoarece acesta nu s-a īnregistrat ca ascult\tor. Interceptarea evenimentelor se face prin implementarea interfe]ei WindowListener [i prin ad\ugarea īn lista ascult\torilor ferestrei chiar a obiectului care implementeaz\ fereastra.

import java.awt.*;

import java.awt.event.*;

class Cadru extends Frame implements WindowListener

//metodele interfetei WindowListener

public void windowOpened(WindowEvent e)

public void windowClosing(WindowEvent e)

public void windowClosed(WindowEvent e)

public void windowIconified(WindowEvent e)

public void windowDeiconified(WindowEvent e)

public void windowActivated(WindowEvent e)

public void windowDeactivated(WindowEvent e)

public class TestWindow

Ferestre de dialog - Clasa Dialog

Toate mediile grafice ofer\ [i un tip special de ferestre destinate prelu\rii datelor de la utilizator. Acestea se numesc ferestre de dialog sau casete de dialog [i sunt de dou\ tipuri :

modale : care blocheaz\ accesul la fereastra p\rinte - de exemplu, ferestre de introducere a unor date, de alegere a unui fi[ier īn vederea deschideriii, de selectare a unei op]iuni, mesaje de avertizare, etc

nemodale : care nu blocheaz\ fluxul de intrare c\tre fereastra p\rinte    - de exemplu, ferestrele de c\utare a unui cuvānt īntr-un fi[ier.

Crearea unor astfel de ferestre se realizeaz\ prin intermediul clasei Dialog.

Clasa Dialog

Constructori

Dialog (Frame w_parent, boolean modal)

Dialog(Frame w_parent, String titlu, boolean modal)

Construie[te o caset\ de dialog ini]ial invizibil\, avānd ca p\rinte fereastra w_parent. Valoarea logic\ <modal> specific\ dac\ fereastra de dialog este modal\ sau nu.

Metode

addNotify () Creates the frame's peer.

getTitle() Gets the title of the Dialog.

isModal() Returns true if the Dialog is modal.

isResizable() Returns true if the user can resize the frame.

paramString() Returns the parameter String of this Dialog.

setResizable(boolean)    Sets the resizable flag.

setTitle(String)    Sets the title of the Dialog.

Exemplu

Dialog d = new Dialog(w_main, "Fereastra dialog", true);

Panel butoane = new Panel();

butoane.setLayout(new FlowLayout());

butoane.add(new Button("DA"));

butoane.add(new Button("NU"));

d.add("South", butoane);

d.add("Center", new Label("Sigur doriti sa faceti asta?"));

d.setSize(new Dimension(200,100));

d.show();

Crearea de dialoguri este relativ simpl\. Mai complicat este īns\ modul īn care se implementeaz\ comunicarea īntre fereastra de dialog [i aplica]ie, pentru ca aceasta din urm\ s\ poat\ folosi datele introduse (sau op]iunea specificat\) īn caseta de dialog. Exist\ dou\ abord\ri generale :

obiectul care reprezint\ dialogul poate s\ capteze evenimentele de la butoanele ferestrei [i de la controalele de pe suprafa]a sa [i s\ s\ seteze valorile unor parametri ai aplica]iei īn momentul īn care dialogul este īncheiat sau

obiectul care creeaz\ dialogul (fereastra p\rinte) s\ se īnregistreze ca ascult\tor al evenimentelor de la butoanele care determin\ īncheierea dialogului, iar obiectul dialog s\ ofere metode publice prin care datele introduse s\ fie preluate din exterior.

Obs: A doua metod\ este mai uzual\.

Clasa FileDialog

Pachetul java.awt pune la dispozi]ie [i un tip de fereastr\ de dialog folosit pentru īnc\rcarea / salvarea fi[ierelor. Clasa FileDialog are un comportament comun dialogurilor de acest tip de pe majoritatea sistemelor, dar forma sa specific\ īn care va fi afi[at\ este specific\ platformei pe care ruleaz\ aplica]ia.

Variabile

LOAD The file load variable.

SAVE The file save variable.

Constructor

FileDialog (Frame, String)    Creates a file dialog for loading a file.

FileDialog(Frame, String, int)Creates a file dialog with the specified title and mode.

Metode

addNotify () Creates the frame's peer.

getDirectory() Gets the directory of the Dialog.

getFile() Gets the file of the Dialog.

getFilenameFilter()    Gets the filter.

getMode() Gets the mode of the file dialog.

paramString() Returns the parameter String of this file dialog.

setDirectory(String)

Set the directory of the Dialog to the specified directory.

setFile(String)

Sets the file for this dialog to the specified file.

setFilenameFilter(FilenameFilter)

Sets the filter for this dialog to the specified filter.

Exemple:

FileDialog f1 = new FileDialog(w_main, "Alegere fisier",

FileDialog.LOAD); //dialog pentru incarcarea unui fisier

FileDialog f2 = new FileDialog(w_main, "Salvare fisier",

FileDialog.SAVE); //dialog pentru salvarea unui fisier

f1.setDirectory("./"); //directorul curent

f2.setDirectory("/"); //directorul radacina

f1.setFile("*.java");

f2.setFile("test.html");//fisierul care apare initial

f1.setFileNameFilter(new JavaFilter());

class JavaFilter implements FilenameFilter

Obs: La crearea unui obiect FileDialog acesta nu este implicit vizibil. Dac\ afi[area sa se face cu show() caseta de dialog va fi modal\. Dac\ afi[area se face cu setVisible(true) va fi nemodal\. Dup\ selectarea unui fi[ier ea va fi f\cut\ automat invizibil\.


Document Info


Accesari: 1140
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )