Вы находитесь на странице: 1из 8

TEHNOLOGII JAVA

PENTRU DEZVOLTAREA APLICAIILOR


LUCRARE DE LABORATOR 12

Java Swing
Tabbed Panes, Scrolling Panes, Split Panes
I. SCOPUL LUCRRII
Lucrarea de fa are rolul de a prezenta i familiariza studentul cu modul de
construire a unei interfee grafice utilizator folosind pachetul de clase javax.swing. Se
vor prezenta cteva componente vizuale utile, mpreun cu modul de creare i utilizare a
acestora.
La sfritul acestei lucrri, studentul va avea posibilitatea s scrie programe Java n
care s utilizeze noiunile nvate.

II. NOIUNI TEORETICE

1. Tipurile de Layout Manager specifice Java Swing


BoxLayout - aranjeaz componentele de-a lungul axelor X, Y ale panel-ului. ncearc s
utilizeze limea i nlimea preferate ale componentei.
OverlayLayout aranjeaz componentele unele peste altele, efectund o aliniere a
punctului de baz al fiecrei componente ntr-o singur locaie.
ScrollPaneLayout specific pentru scrolling panes
ViewportLayout specific panel-urilor cu scrolling panes, aliniaz de-a lungul axei X
Vom prezenta un exemplu pentru tipul BoxLayout (cel mai des utilizat). Acest
layout manager organizeaz componentele de-a lungul axelor X, Y ale panel-ului care le
deine. Alinierea componentelor se poate face la stnga, la dreapta sau centru (implicit).
import java.awt.*;
import javax.swing.*;
class TestFrame extends JFrame
{
public TestFrame()
{
setTitle( "BoxLayout Application" );
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );

getContentPane().add( topPanel );
JPanel yAxisPanel = createYAxisPanel();
topPanel.add( yAxisPanel, BorderLayout.CENTER );
JPanel xAxisPanel = createXAxisPanel();
topPanel.add( xAxisPanel, BorderLayout.SOUTH );
}
public JPanel createYAxisPanel()
{
JPanel panel = new JPanel();
panel.setLayout( new BoxLayout( panel, BoxLayout.Y_AXIS ) );
panel.setBackground( Color.lightGray );
panel.add( new JButton( "Button 1" ) );
panel.add( new TextArea( "This is a text area" ) );
panel.add( new JCheckBox( "Checkbox 1" ) );
return panel;
}
public JPanel createXAxisPanel()
{
JPanel panel = new JPanel();
panel.setLayout( new BoxLayout( panel, BoxLayout.X_AXIS ) );
panel.setBackground( Color.gray );
panel.add( new JButton( "Button 1" ) );
panel.add( new TextArea( "This is a text area" ) );
panel.add( new JCheckBox( "Checkbox 1" ) );
return panel;
}
public static void main( String args[] )
{
TestFrame mainFrame = new TestFrame();
mainFrame.pack();
mainFrame.setVisible( true );
}
}

Pentru a utiliza mai uor BoxLayout manager, Swing furnizeaz i o clas


numit Box care creeaz un container ce are aplicat BoxLayout manger. Se utlizeaz un
cod similar cu:
{

// Creeaza un container nou


Box boxPanel = new Box(BoxLayout.Y_AXIS );
// Adauga componente
boxPanel.add( new JButton( "Button 1" ) );
panel.add( new TextArea( "This is a text area" ) );
panel.add( new JCheckBox( "Checkbox 1" ) );

2. Tabbed Panes
O component de tipul tabbed pane permite gruparea mai multor pagini de
informaie ntr-un singur punct de referin. Se comport ca orice alt component
Swing: putem s i adugm un panou (panel), s i adugm componente de obicei sub
form de pagini. Fiecrei pagini i putem asocia alte componente Java UI.
Crearea unui tabbed pane
import javax.swing.*;
{
. . .
tabbedPanel = new JTabbedPane();
topPanel.add( tabbedPanel, BorderLayout.CENTER );
. . .
}

Adugarea i inserarea de pagini


O pagin const de obicei dintr-o instan JPanel coninnd componente fiu.
import javax.swing.*;
{
. . .
// Creeaza pagina (un panel)
pagePanel = new JPanel();
pagePanel.setLayout( new BorderLayout() );
pagePanel.add( new JLabel( "Sample Label" ),BorderLayout.NORTH );
pagePanel.add( new JTextArea( "" ),BorderLayout.CENTER );
pagePanel.add( new JButton( "Button 1" ),BorderLayout.SOUTH );
// Adauga pagina la tabbed pane
tabbedPanel.addTab( "Page 1", pagePanel );
. . .
}

Se va utiliza cod similar pentru crearea fiecrei pagini. Dar o astfel de secven de
cod adaug paginile secvenial. Pentru a insera pagini oriunde ntr-o ierarhie de pagini se
utilizeaz:
// Insereaza pagina in tabbed pane
tabbedPanel.insertTab( "Inserted Page",
new ImageIcon( "image.gif" ),
pagePanel,"My tooltip text",iLocation );

Variabila iLocation reprezint index-ul (poziia) paginii. Se observ de asemenea


cum se ataeaz o imagine.
tergerea paginilor
tabbedPanel.removeTabAt( iLocation );

unde iLocation este index-ul paginii ce se va nltura. Pentru a se terge toate paginile,
trebuie s se in evidena numrului de pagini rmase, altfel Java VM va genera o
excepie.
while( tabbedPanel.getTabCount() > 0 )
tabbedPanel.removeTabAt( 0 );

Metoda getTabCount() returneaz numrul total de pagini din panel.


Selectarea paginilor
Exist 2 mecanisme pentru selectarea unei pagini. Cel mai simplu, utilizatorul va
selecta cu un click pagina dorit, iar instana JTabbedPane va muta automat pagina
selectat n fa. Dar se poate scrie i cod pentru aceasta. Se apeleaz metoda
setSelectedIndex() cu indexul paginii care se dorete s apar n fa.
tabbedPanel.setSelectedIndex( iLocation );

O a doua metod utilizeaz instana panel-ului care a fost refereniat atunci cnd
pagina a fost adugat.
tabbedPanel.setSelectedComponent( pagePanel );

Iat un exemplu complet:


import java.awt.*;
import javax.swing.*;
class TestTab extends JFrame
{
private JTabbedPane tabbedPane;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
public TestTab()
{
setTitle( "Tabbed Pane Application" );
setSize( 300, 200 );
setBackground( Color.gray );
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
getContentPane().add( topPanel );
// Creeaza paginile
createPage1();
createPage2();
createPage3();
// Creeaza un tabbed pane
tabbedPane = new JTabbedPane();
tabbedPane.addTab( "Page 1", panel1 );
tabbedPane.addTab( "Page 2", panel2 );
tabbedPane.addTab( "Page 3", panel3 );
topPanel.add( tabbedPane, BorderLayout.CENTER );
}

public void createPage1()


{
panel1 = new JPanel();
panel1.setLayout( null );
JLabel label1 = new JLabel( "Username:" );
label1.setBounds( 10, 15, 150, 20 );
panel1.add( label1 );
JTextField field = new JTextField();
field.setBounds( 10, 35, 150, 20 );
panel1.add( field );
JLabel label2 = new JLabel( "Password:" );
label2.setBounds( 10, 60, 150, 20 );
panel1.add( label2 );
JPasswordField fieldPass = new JPasswordField();
fieldPass.setBounds( 10, 80, 150, 20 );
panel1.add( fieldPass );
}
public void createPage2()
{
panel2 = new JPanel();
panel2.setLayout( new BorderLayout() );
panel2.add( new JButton( "North" ), BorderLayout.NORTH );
panel2.add( new JButton( "South" ), BorderLayout.SOUTH );
panel2.add( new JButton( "East" ), BorderLayout.EAST );
panel2.add( new JButton( "West" ), BorderLayout.WEST );
panel2.add( new JButton( "Center" ), BorderLayout.CENTER );
}
public void createPage3()
{
panel3 = new JPanel();
panel3.setLayout( new GridLayout( 3, 2 ) );
panel3.add( new JLabel( "Field 1:" ) );
panel3.add( new TextArea() );
panel3.add( new JLabel( "Field 2:" ) );
panel3.add( new TextArea() );
panel3.add( new JLabel( "Field 3:" ) );
panel3.add( new TextArea() );
}
public static void main( String args[] )
{
TestTab mainFrame = new TestTab();
mainFrame.setVisible( true );
}
}

3. Scrolling panes
n urmtorul exemplu vom crea un scrolling pane, i i vom aduga o instan
JLabel care arat o imagine foarte mare. Pentru c imaginea este prea mare ca s fie
afiat ntreag, barele de navigare scroll bars vor apare automat.

import java.awt.*;
import javax.swing.*;
class TestScroll extends JFrame
{
private JScrollPane scrollPane;
public TestScroll()
{
setTitle( "Tabbed Pane Application" );
setSize( 300, 200 );
setBackground( Color.gray );
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
getContentPane().add( topPanel );
Icon image = new ImageIcon( "main.gif" );
JLabel label = new JLabel( image );
// Creeaza un scroll pane
scrollPane = new JScrollPane();
scrollPane.getViewport().add( label );
topPanel.add( scrollPane, BorderLayout.CENTER );
}
public static void main( String args[] )
{
TestScroll mainFrame = new TestScroll();
mainFrame.setVisible( true );
}
}

4. Split panes
Clasa JSplitPane este utilizat pentru a divide dou componente, care prin
intervenia utilizatorului pot fi redimensionate interactiv. Divizarea se poate face n
direcia stnga-dreapta utiliznd setarea JSplitPane.HORIZONTAL_SPLIT, sau n
direcia sus-jos utiliznd JSplitPane.VERTICAL_SPLIT.
JSplitPane va divide numai dou componente. Dac este nevoie de o interfa
mai complex, se poate imbrica o instan JSplitPane ntr-o alt instan JSplitPane.
Astfel, se va putea intermixa i divizarea orizontal cu cea vertical.
Grania de diviziune poate fi ajustat de ctre utilizator cu mouse-ul, dar poate fi
setat i prin apelul metodei setDividerLocation(). Atunci cnd grania de diviziune este
mutat cu mouse-ul de ctre utilizator, se vor utiliza setrile dimensiunilor minime i
maxime ale componentelor, pentru a determina limitele deplasrii graniei. Astfel, dac
dimensiunea minim a dou componente este mai mare dect dimensiunea containerului
split pane, codul JSplitPane nu va permite redimensionarea frame-urilor separate de
grania de diviziune.
Exemplu:
import java.awt.*;
import javax.swing.*;

class TestSplit extends JFrame


{
private JSplitPane splitPaneV;
private JSplitPane splitPaneH;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
public TestSplit()
{
setTitle( "Split Pane Application" );
setBackground( Color.gray );
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
getContentPane().add( topPanel );
createPanel1();
createPanel2();
createPanel3();
splitPaneV = new JSplitPane( JSplitPane.VERTICAL_SPLIT );
topPanel.add( splitPaneV, BorderLayout.CENTER );
splitPaneH = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT );
splitPaneH.setLeftComponent( panel1 );
splitPaneH.setRightComponent( panel2 );
splitPaneV.setLeftComponent( splitPaneH );
splitPaneV.setRightComponent( panel3 );
}
public void createPanel1()
{
panel1 = new JPanel();
panel1.setLayout( new BorderLayout() );
panel1.add( new JButton( "North" ), BorderLayout.NORTH );
panel1.add( new JButton( "South" ), BorderLayout.SOUTH );
panel1.add( new JButton( "East" ), BorderLayout.EAST );
panel1.add( new JButton( "West" ), BorderLayout.WEST );
panel1.add( new JButton( "Center" ), BorderLayout.CENTER );
}
public void createPanel2()
{
panel2 = new JPanel();
panel2.setLayout( new FlowLayout() );
panel2.add( new JButton( "Button 1" ) );
panel2.add( new JButton( "Button 2" ) );
panel2.add( new JButton( "Button 3" ) );
}
public void createPanel3()
{
panel3 = new JPanel();
panel3.setLayout( new BorderLayout() );
panel3.setPreferredSize( new Dimension( 400, 100 ) );
panel3.setMinimumSize( new Dimension( 100, 50 ) );
panel3.add( new JLabel( "Notes:" ), BorderLayout.NORTH );
panel3.add( new JTextArea(), BorderLayout.CENTER );

}
public static void main( String args[] )
{
TestSplit mainFrame = new TestSplit();
mainFrame.pack();
mainFrame.setVisible(true);
}
}

III. MODUL DE LUCRU


1. Se editeaz codul surs al programului Java folosind un editor de text disponibil(de
ex., se poate utiliza Notepad).
2. Se salveaz fiierul cu extensia .java. Fiierul trebuie salvat la urmtoarea locaie:
c:\JBulider7\jdk1.3.1\bin
3. Compilarea aplicaiei Java se va face din linia de comand. Se poate proceda astfel. Se
deschide o fereastr MS-Dos: Start ->Run, se tiprete command n csua de text i
se apas butonul OK. Printr-o schimbare de directoare i subdirectoare se trece la
locaia: c:\JBulider7\jdk1.3.1\bin. Sau, se lanseaz WindowsCommander. Se trece
la locaia c:\JBulider7\jdk1.3.1\bin. Se deschide o fereastr MS-Dos: Commander >Run Dos.
4. Pentru compilare, se tiprete la prompter javac nume_fiier_surs.java i se apas
Enter. De ex., dac fiierul se numete Test.java, se va scrie javac Test.java. n cazul
n care programul conine erori acestea vor fi semnalate i afiate n fereastra MSDos, dup care va apare iar prompter-ul. Dac programul nu conine erori i
compilarea se face cu succes, atunci va apare numai prompter-ul.
5. Pentru rularea unei aplicaii Java stand-alone, se lanseaz interpretorul Java. Se
tiprete la prompter urmtoarea comand java nume_clas_care_conine_main i
se apas Enter. De ex., dac clasa din program care conine metoda main( ) se
numete Test, se va scrie java Test.
6. Dac programul Java este un applet, se editeaz fiierul .html. Se salveaz n acelai
director cu fiierul .class rezultat n urma compilrii cu succes a fiierului surs java.
Apoi pentru rulare se poate utiliza appletviewer nume.html.
Alternativ, dup compilarea aplicaiei Java, fiierul .class mpreun cu fiierul .html
pot fi mutate n orice alt director (nu trebuie neaprat s fie n
c:\JBulider7\jdk1.3.1\bin). Se ncarc fiierul .html ntr-un browser Web (ex.,
Internet Explorer).

IV. TEM
1. Se vor parcurge toate exemplele prezentate n platforma de laborator testndu-se practic.
2. Scriei o aplicaie Java n care s construii o interfa utilizator folosind noile noiuni
prezentate n lucrarea de laborator.

Вам также может понравиться

  • Cursuri PDM (Programarea Dispozitivelor Mobile)
    Cursuri PDM (Programarea Dispozitivelor Mobile)
    Документ58 страниц
    Cursuri PDM (Programarea Dispozitivelor Mobile)
    Simi Sim
    Оценок пока нет
  • Lucrare Licenta - Aplicatie Java
    Lucrare Licenta - Aplicatie Java
    Документ31 страница
    Lucrare Licenta - Aplicatie Java
    bredtm
    Оценок пока нет
  • 5 Curs Java
    5 Curs Java
    Документ100 страниц
    5 Curs Java
    David Hoff
    Оценок пока нет
  • Awt Slide
    Awt Slide
    Документ52 страницы
    Awt Slide
    Antonio Dima
    Оценок пока нет
  • Curs 10 Java
    Curs 10 Java
    Документ15 страниц
    Curs 10 Java
    Valentin
    Оценок пока нет
  • Gestionare
    Gestionare
    Документ9 страниц
    Gestionare
    winchester lung
    Оценок пока нет
  • Laborator 1FX
    Laborator 1FX
    Документ14 страниц
    Laborator 1FX
    Bogdan Manciu
    Оценок пока нет
  • Paoo C13 2021
    Paoo C13 2021
    Документ62 страницы
    Paoo C13 2021
    LimonCello
    Оценок пока нет
  • Curs13 Java
    Curs13 Java
    Документ25 страниц
    Curs13 Java
    Bogdan12345678
    Оценок пока нет
  • Lucrarea de Laborator Nr6
    Lucrarea de Laborator Nr6
    Документ21 страница
    Lucrarea de Laborator Nr6
    Alina Axenti
    Оценок пока нет
  • Indrumar TAP
    Indrumar TAP
    Документ120 страниц
    Indrumar TAP
    Ion Popescu
    Оценок пока нет
  • Caracterizati Pachetul JDK
    Caracterizati Pachetul JDK
    Документ6 страниц
    Caracterizati Pachetul JDK
    crystynyk4alin
    Оценок пока нет
  • TAP Lab4
    TAP Lab4
    Документ10 страниц
    TAP Lab4
    Cristian Batir
    Оценок пока нет
  • Tap Lab5
    Tap Lab5
    Документ8 страниц
    Tap Lab5
    Adrian Bodorin
    Оценок пока нет
  • Lucrarea de Laborator NR 1
    Lucrarea de Laborator NR 1
    Документ10 страниц
    Lucrarea de Laborator NR 1
    Grosu Maxim
    Оценок пока нет
  • Lucrarea de Laborator TAP NR 1
    Lucrarea de Laborator TAP NR 1
    Документ10 страниц
    Lucrarea de Laborator TAP NR 1
    Calc 182
    Оценок пока нет
  • Ferestre Curs, Java
    Ferestre Curs, Java
    Документ7 страниц
    Ferestre Curs, Java
    Razvan Juretcu
    Оценок пока нет
  • Java 2-Curs 2012
    Java 2-Curs 2012
    Документ238 страниц
    Java 2-Curs 2012
    Gabriel Cosmin
    Оценок пока нет
  • Medii Vizuale
    Medii Vizuale
    Документ50 страниц
    Medii Vizuale
    ankaanka29
    Оценок пока нет
  • Platforme Java Partea 2
    Platforme Java Partea 2
    Документ45 страниц
    Platforme Java Partea 2
    ninel33
    Оценок пока нет
  • Indrumar Tehnici Avansate
    Indrumar Tehnici Avansate
    Документ107 страниц
    Indrumar Tehnici Avansate
    zero n
    Оценок пока нет
  • Curs 6 - Interfata Grafica
    Curs 6 - Interfata Grafica
    Документ41 страница
    Curs 6 - Interfata Grafica
    Marian Ceban
    Оценок пока нет
  • Interfa Grafica
    Interfa Grafica
    Документ11 страниц
    Interfa Grafica
    winchester lung
    Оценок пока нет
  • Paoo C12 2021
    Paoo C12 2021
    Документ66 страниц
    Paoo C12 2021
    LimonCello
    Оценок пока нет
  • RGDFHSDTHBGDBF
    RGDFHSDTHBGDBF
    Документ6 страниц
    RGDFHSDTHBGDBF
    CS:GO cFG
    Оценок пока нет
  • Proiect Algoritmi Si Programare-Suci Naomi M
    Proiect Algoritmi Si Programare-Suci Naomi M
    Документ9 страниц
    Proiect Algoritmi Si Programare-Suci Naomi M
    naomi2400
    Оценок пока нет
  • Sabloane C++
    Sabloane C++
    Документ3 страницы
    Sabloane C++
    Vasile Hîj
    Оценок пока нет
  • Introducere În gvSIG
    Introducere În gvSIG
    Документ22 страницы
    Introducere În gvSIG
    luxmeu
    Оценок пока нет
  • Lucrarea Nr. 4 BPA PDF
    Lucrarea Nr. 4 BPA PDF
    Документ17 страниц
    Lucrarea Nr. 4 BPA PDF
    Alexa Dobrin
    Оценок пока нет
  • Olimpiada Nationala de TIC - XII - Rezolvare 2017
    Olimpiada Nationala de TIC - XII - Rezolvare 2017
    Документ10 страниц
    Olimpiada Nationala de TIC - XII - Rezolvare 2017
    Teodor Marginean
    Оценок пока нет
  • Exercitiul 1 Grafica Inginereasca Semestrul I Anul I UPB
    Exercitiul 1 Grafica Inginereasca Semestrul I Anul I UPB
    Документ8 страниц
    Exercitiul 1 Grafica Inginereasca Semestrul I Anul I UPB
    Cristi Gheorghiu
    Оценок пока нет
  • Laborator2 3
    Laborator2 3
    Документ8 страниц
    Laborator2 3
    Molnar Iozsef Bernat
    Оценок пока нет
  • L5 Isp
    L5 Isp
    Документ7 страниц
    L5 Isp
    Costin P
    Оценок пока нет
  • Java 1 - Introducere in Interfete Grafice
    Java 1 - Introducere in Interfete Grafice
    Документ13 страниц
    Java 1 - Introducere in Interfete Grafice
    Andrei Ursac
    Оценок пока нет
  • Curs 10 Java
    Curs 10 Java
    Документ21 страница
    Curs 10 Java
    Alexandra Somu
    Оценок пока нет
  • Aplicatie Java
    Aplicatie Java
    Документ3 страницы
    Aplicatie Java
    Mast3rm1nd
    Оценок пока нет
  • Laborator4 APBDOO Master
    Laborator4 APBDOO Master
    Документ4 страницы
    Laborator4 APBDOO Master
    Dorw123
    Оценок пока нет
  • Allplan - Fatade - Definiții Schema
    Allplan - Fatade - Definiții Schema
    Документ12 страниц
    Allplan - Fatade - Definiții Schema
    Daniel Ionuț Berindeanu
    Оценок пока нет
  • 4.mediul de Dezvoltare Integrat Ide Netbeans Interfete Grafice Swing PDF
    4.mediul de Dezvoltare Integrat Ide Netbeans Interfete Grafice Swing PDF
    Документ12 страниц
    4.mediul de Dezvoltare Integrat Ide Netbeans Interfete Grafice Swing PDF
    catalinalex
    Оценок пока нет
  • Curs (Jess) 5
    Curs (Jess) 5
    Документ24 страницы
    Curs (Jess) 5
    Danusia Dincu
    Оценок пока нет
  • Imagini
    Imagini
    Документ3 страницы
    Imagini
    winchester lung
    Оценок пока нет
  • Lab 1 Docx
    Lab 1 Docx
    Документ6 страниц
    Lab 1 Docx
    AlexandruBotnaru
    Оценок пока нет
  • SM Lab 1 UTM
    SM Lab 1 UTM
    Документ9 страниц
    SM Lab 1 UTM
    Cobilas Vasile
    Оценок пока нет
  • Programare in JAVA
    Programare in JAVA
    Документ35 страниц
    Programare in JAVA
    k
    Оценок пока нет
  • Cursul 1 Drumuri 2
    Cursul 1 Drumuri 2
    Документ25 страниц
    Cursul 1 Drumuri 2
    viziteualexandru
    Оценок пока нет
  • CURS Lucrul Cu Straturi
    CURS Lucrul Cu Straturi
    Документ10 страниц
    CURS Lucrul Cu Straturi
    treviso1999
    Оценок пока нет
  • Manual Geomedia
    Manual Geomedia
    Документ43 страницы
    Manual Geomedia
    natalita_dragutan
    0% (1)
  • Colectii
    Colectii
    Документ15 страниц
    Colectii
    adipistea
    Оценок пока нет
  • Lab 3 OpenGL GLUT v2 Prot
    Lab 3 OpenGL GLUT v2 Prot
    Документ8 страниц
    Lab 3 OpenGL GLUT v2 Prot
    sendissoftwares
    Оценок пока нет
  • Java 3
    Java 3
    Документ43 страницы
    Java 3
    Alexandra Rosca
    Оценок пока нет
  • GUI Python Lab3
    GUI Python Lab3
    Документ24 страницы
    GUI Python Lab3
    Maria Cristina
    Оценок пока нет
  • Laborator2 APBDOO Master
    Laborator2 APBDOO Master
    Документ3 страницы
    Laborator2 APBDOO Master
    Dorw123
    Оценок пока нет
  • IDP Laborator 7
    IDP Laborator 7
    Документ7 страниц
    IDP Laborator 7
    Fifu One
    Оценок пока нет
  • Laborator6 - Java
    Laborator6 - Java
    Документ6 страниц
    Laborator6 - Java
    bredtm
    Оценок пока нет
  • Laborator 9 (Java) PDF
    Laborator 9 (Java) PDF
    Документ10 страниц
    Laborator 9 (Java) PDF
    Szomyu Szabolcs
    Оценок пока нет
  • Laborator 1
    Laborator 1
    Документ20 страниц
    Laborator 1
    Alberto Dan
    Оценок пока нет
  • Realizarea Paginilor Web, Traian C. IONESCU PDF
    Realizarea Paginilor Web, Traian C. IONESCU PDF
    Документ174 страницы
    Realizarea Paginilor Web, Traian C. IONESCU PDF
    Daniel Cucu
    Оценок пока нет
  • Laborator12 - Java
    Laborator12 - Java
    Документ8 страниц
    Laborator12 - Java
    bredtm
    Оценок пока нет
  • Laborator8 - Java
    Laborator8 - Java
    Документ4 страницы
    Laborator8 - Java
    bredtm
    Оценок пока нет
  • F3 - Lista Cantitati - Arhitectura
    F3 - Lista Cantitati - Arhitectura
    Документ3 страницы
    F3 - Lista Cantitati - Arhitectura
    bredtm
    Оценок пока нет
  • Sit Lucrari Lunare
    Sit Lucrari Lunare
    Документ59 страниц
    Sit Lucrari Lunare
    bredtm
    Оценок пока нет
  • F2 Centralizator Cheltuieli - Constructii Si Instalatii
    F2 Centralizator Cheltuieli - Constructii Si Instalatii
    Документ2 страницы
    F2 Centralizator Cheltuieli - Constructii Si Instalatii
    bredtm
    Оценок пока нет