Java - JComponent


Klasa JDesktopPane, može se koristiti za kreiranje "multi-document" aplikacija. Aplikacija sa više dokumenata može imati mnogo prozora uključenih u nju. To radimo tako što contentPane napravimo u glavnom prozoru kao instancu klase JDesktopPane ili podklase. Interni prozori dodaju instance JInternalFrame instanci JdesktopPane. Interni prozori su instance JInternalFramea ili njegovih podklasa.



Polja

Modifikator i tip Polje Opis
static int LIVE_DRAG_MODE Označava da bi se cijeli sadržaj stavke koja se prevlači trebao pojaviti unutar okna radne površine.
static int OUTLINE_DRAG_MODE Označava da bi se unutar okna radne površine trebao pojaviti okvir samo stavke koja se prevlači.


Konstruktor

Konstruktor Opis
JDesktopPane() Kreira novi JDesktopPane.


Primjer Java JDesktopPane

// Importovanje potrebnih biblioteka
import java.awt.BorderLayout;  
import java.awt.Container;  
import javax.swing.JDesktopPane;  
import javax.swing.JFrame;  
import javax.swing.JInternalFrame;  
import javax.swing.JLabel;  

public class Main extends JFrame  
{  
    public Main()   
    {  
        // Kreiranje CustomDesktopPane i postavljanje veličine przora
        CustomDesktopPane desktopPane = new CustomDesktopPane();  
        Container contentPane = getContentPane();  
        contentPane.add(desktopPane, BorderLayout.CENTER);  
        desktopPane.display(desktopPane);  

        setTitle("Primjer JDesktopPane-a");  
        setSize(350,350);  
        setVisible(true); 
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }  
    public static void  main(String args[])  
    {  
        new Main();  
    }  
}  
class CustomDesktopPane extends JDesktopPane  
{  
    int numFrames = 3,  x = 30, y = 30;  
        public void display(CustomDesktopPane dp)   
        {  
            for(int  i = 0; i < numFrames ; ++i )   
        {  
            // Naziv i prikaz našeg Frame-a koji će se prikazati tri puta
            JInternalFrame jframe = new JInternalFrame("Naš Frame " + i ,  true, true, true, true);
            
            jframe.setBounds(x, y, 250, 85);  
            Container c1 = jframe.getContentPane( ) ;  
            c1.add(new JLabel("Volim učiti Javu uz IT TUTORIJALE!"));  
            dp.add( jframe );  
            jframe.setVisible(true);         
            y += 85;  
        }  
    }  
}

Prikaz koda iz gornjeg primjera izgledaće ovako: