Java - JViewport


Klasa javax.swing.JFrame je tip kontejnera koji nasljeđuje klasu java.awt.Frame. JFrame radi kao glavni prozor gdje se dodaju komponente kao što su: oznake, dugmad, tekstualna polja za kreiranje GUI itd. Za razliku od Frame-a, JFrame ima opciju da sakrije ili zatvori prozor uz pomoć metode setDefaultCloseOperation(int).



Ugnježdena klasa

Modifikator i tip Klasa Opis
protected class JFrame.AccessibleJFrame Ova klasa implementuje podršku pristupačnosti za klasu JFrame.


Polja

Modifikator i tip Polje Opis
protected AccessibleContext accessibleContext Pristupačno svojstvo konteksta.
static int EXIT_ON_CLOSE Operacija zatvaranja podrazumjevanog prozora izlazne aplikacije.
protected JRootPane rootPane JRootPane instanca koja upravlja contentPane-om i opcionom trakom menija za ovaj okvir, kao i sa glassPane.
protected boolean rootPaneCheckingEnabled Ako je tačno (true), onda će pozivi za dodavanje i setLayout biti prosljeđeni na contentPane.


Konstruktori

Konstruktor Opis
JFrame() Konstruiše novi okvir koji je u početku nevidljiv.
JFrame(GraphicsConfiguration gc) Kreira okvir u navedenoj GraphicsConfiguration uređaja na ekranu i prazan naslov.
JFrame(String title) Kreira novi, u početku nevidljiv okvir sa navedenim naslovom.
JFrame(String title, GraphicsConfiguration gc) Kreira JFrame sa navedenim naslovom i navedenom GraphicsConfiguration uređaja ekrana.


Korisne metode

Modifikator i tip Metod Opis
protected void addImpl(Component comp, Object constraints, int index) Dodaje navedenu podređenu komponentu.
protected JRootPane createRootPane() Pozivaju ga metode konstruktora da kreiraju podrazumevani rootPane.
protected void frameInit() Pozivaju ga konstruktori da pravilno iniciraju JFrame.
void setContentPane(Containe contentPane) Postavlja svojstvo contentPane
static void setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated) Pruža nagoveštaj da li novokreirani JFramovi treba da imaju svoje dekoracije prozora (kao što su ivice, widgeti za zatvaranje prozora, naslov...) obezbjeđene trenutnim izgledom.
void setIconImage(Image image) Postavlja da se slika prikazuje kao ikona za ovaj prozor.
void setJMenuBar(JMenuBar menubar) Postavlja traku menija za ovaj okvir.
void setLayeredPane(JLayeredPane layeredPane) Postavlja svojstvo layeredPane.
JRootPane getRootPane() Vraća rootPane objekat za ovaj okvir.
TransferHandler getTransferHandler() Dobija svojstvo transferHandler.


Primjer Java JFrame

// Importovanje potrebnih biblioteka
import java.awt.FlowLayout;  
import javax.swing.JButton;  
import javax.swing.JFrame;  
import javax.swing.JLabel;  
import javax.swing.JPanel;  

public class Main {  
    public static void main(String s[]) {  
        // Kriranje Frame-a, Jpanel-a i naslova
        JFrame frame = new JFrame("Primjer JFrame-a");  
        JPanel panel = new JPanel();  
        
        // Dodavanje Labela s naslovom
        panel.setLayout(new FlowLayout());  
        JLabel label = new JLabel("Jednostavan primjer JFrame!"); 
        
        // Kriranje dugmeta
        JButton button = new JButton();  
        button.setText("Klikni");  
        
        // Dodavanje Label-a i Button-a na Frame
        panel.add(label);  
        panel.add(button);  
        
        // Dodavanje komponeti na Frame i podešavanje veličine
        frame.add(panel);  
        frame.setSize(400, 300);  
        frame.setLocationRelativeTo(null);  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        frame.setVisible(true);  
    }  
}

Prikaz koda iz gornjeg primjera izgledaće ovako: