You are on page 1of 2

WEB PROGRAMIRANJE

- II kolokvijum - Priprema -
1. U kojim paketima se nalazi podrka za GUI u Javi?
Podrska za GUI se nalazi u paketima java.awt.* i javax.swing.*.

2. Koje je korake potrebno sprovesti da bi se prikazao prozor odreenih dimenzija?
Super(Naziv prozora.);
setSize(200,200);
setVisible(true);

3. Navedite bar tri grafike komponente koje postoje u Javi. Uz svaki naziv odgovarajue klase potrebno je dati objanjenje ta ta
klasa predstavlja.
Graficke komponente: JFrame klasa Jframe sluzi za definisanje okvira prozora, JButton sluzi za pravljenje i definisanje dugmadi,
Jpanel sluzi za definisanje povrsine na kojoj je moguce crtati figure.

4. ta e biti rezultat izvravanja sljedeeg koda?
import javax.swing.*;
class Prvi extends JFrame{
JLabel L=new JLabel("Dobro razmisli!!!");
Prvi(){
super("II kolokvijum");
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setSize(200,300);
setVisible(true);
add(L);
}
public static void main (String[] args) {
String s="Drugi kolokvijum";
System.out.println(s);
}
}
Rezultat: Ispisace se tekst u komandnom prozoru Drugi kolokvijum. Prozor kreiran u klasi Prvi se nece
prikazati jer u glavnoj metodi nismo pozvali klasu Prvi.

5. Dopuniti dio koda koji nedostaje, kako bi program kreirao formu, dimenzija 200x150 piksela, na kojoj se nalaze dva
dugmeta, jedan ispod drugog, sa natpisima Prvi" i Drugi".
import java.awt.*; import
javax.swing.*; class Prvi
extends JFrame{
______ JButton B1=new JButton("Prvi");
______ JButton B2=new JButton("Drugi");
Prvi()
{
super("Kolokvijum je samostalan rad!");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,300);
setVisible(true);
setLayout(new BorderLayout());
add(BorderLayout.NORTH,B1);
add(BorderLayout.CENTER,B2);
}
public static void main (String[] args) {
Prvi a=new Prvi();}}
6. Sta e biti rezultat izvravanja sljedeeg koda? Skicirati rezultat izvravanja programa i objasniti date linije
koda. Od vas e se moda zahtijevati da unesete odreene podatke. U tom sluaju unosite proizvoljne podatke i
komentariete rezultat.

import javax.swing.*; //ucitavanje paketa za kreiranje prozora I radne povrsine
import java.awt.*;
import java.awt.geom.*;
class Prvi extends JFrame{ //kreiramo klasu u kojoj cemo definisati karakteristike prozora
Prvi(String s) {
super("II kolokvijum"); //Definisemo naziv prozora
setDefaultCloseOperation(JFrame.DO NOTHING ON CLOSE); //nema aktivnosti pri kliku na dugme x
setSize(200,300); //Definisemo velicinu prozora na 300x200 pixela
setVisible(true); //prikazujemo prozor
Container c=getContentPane(); //kreiramo radnu povrsinu
c.add(new PrviI(s)); //na radnoj povrsini dodajemo string formiran u klasi PrviI
}
public static void main (String[] args) { //glavna metoda
String st=JOptionPane.showInputDialog(null, "Unesi string?",''Graficki ulaz",JOptionPane.QUESTION_MESSAGE);
//prikazuje se upitni prozor sa mogucnoscu unosenja stringa, pitanje: Unesi string?, naziv prozora:Graficki
ulaz
Prvi a=new Prvi(st); //Poziva se klasa prvi sa prosljedjenim stringom iz upitnog prozora
}
}
class PrviI extends JPanel{ //formiramo klasu PrviI u kojoj se obradjuje string prosljendjen iz upitnog
prozora preko klase Prvi
String s;
PrviI(String s) { this.s=s; } //u promjenljivu s svrstavamo string prosljedjen od klase Prvi
public void paintComponent(Graphics a){ //metoda za crtanje
super.paintComponent(a); //crtamo string na randoj povrsini na ispod zadatoj lokaciji
a.drawString(s,30,40);
}
}

7. Data je klasa Oblik koja kreira formu na kojoj se nalaze tri radio dugmeta (A1, A2 i A3), jedna labela i komandno
dugme. a) Dopuniti dio koda na oznaenim linijama. Komentarisati ulogu pojedinih blokova u datom kodu.
b) Dopisati naredbe koje e omoguiti da se, kada korisnik klikne na akciono dugme, u labelu ispie koje je radio
dugme selektovano.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Oblik extends Jframe{
JRadioButton R1=new JRadioButton("A1",true);
JRadioButton R2=new JRadioButton("A2");
JRadioButton R3=new JRadioButton("A3");
JButton B=new JButton("Izvrsi");
____ JLabel T= new JLabel();
Oblik() {
super("Zadatak");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,200);
setVisible(true);
Container cp =getContentPane();
MojPanel p = new MojPanel();
cp.add(p);}

public static void main(String[] args) {
Oblik b=new Oblik();
}
class MojPanel extends JPanel{
JRadioButton R1= new JRadioButton("A1",true);
JRadioButton R2= new JRadioButton("A2");
JRadioButton R3= new JRadioButton("A3");
JButton B=new JButton("Izvrsi");
JLabel T= new JLabel("Dejan");
MojPanel(){
setLayout(new FlowLayout());
Akcija a=new Akcija();
B.addActionListener(a);
ButtonGroup G=new ButtonGroup();
G.add(R1);G.add(R2);G.add(R3);
add(R1);add(R2);add(R3);add(T);add(B);
}

class Akcija implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (R1.isSelected()){
T.setText("Selektovano A1");
}
if (R2.isSelected()){
T.setText("Selektovano A2");
}
if (R3.isSelected()){
T.setText("Selektovano A3");
}
}

}
}

You might also like