2015-07-04 73 views
0

我做了一個擴展JPanel的類。現在我想創建它的多個對象。我怎樣才能做到這一點?如何創建擴展類的多個對象

JPanel[] panel = new PanelDraggable [i] (100,100,100,150,scroll); 

不起作用。也許讓班級不延長並返回JPanel[]

public PanelDraggable(int x, int y, int width, int height, String lblName, JComponent comp) { 

    //  draggable.setCursor(draggable.getCursor()); 
    //  setCursor(new Cursor(Cursor.HAND_CURSOR)); 

    closeDim = 15; 
    headerHeight = 20; 
    adjust= 2; 

    setBounds(x, y, width, height); 
    this.setLayout(null); 
    setBorder(new LineBorder(new Color(40, 49, 151), adjust, true)); 
    this.setOpaque(true); 

    //header 
    header = new JLabel(" "+lblName); 
    this.add(header); 
    header.setBounds(0, 0, width-(closeDim + 4), headerHeight); 
    MouseInputAdapter mouseAdapter = new HeaderMouseHandler(); 
    header.addMouseMotionListener(mouseAdapter); 
    header.addMouseListener(mouseAdapter); 

    //close Button 
    close = new JLabel(); 
    close.setIcon(new ImageIcon("icons/close_16x16.png")); 
    close.setBounds((width- (closeDim + 4)) , 4, closeDim, closeDim); 
    close.setCursor(new Cursor(Cursor.HAND_CURSOR)); 
    this.add(close); 

    MouseInputAdapter closeMouseAdapter = new CloseMouseHandler(); 
    close.addMouseListener(closeMouseAdapter); 

    //Container 
    cs = new JPanel(); 
    cs.setBounds(adjust, headerHeight, width - (adjust*2), (height-headerHeight-adjust)); 
    cs.setOpaque(true); 
    this.add(cs); 
    cs.setLayout(new BorderLayout()); 
    cs.add(comp, BorderLayout.CENTER); 

    //Resise 
    resize = new JLabel(); 
    resize.setBounds((width-closeDim), (height-closeDim) , closeDim, closeDim); 
    resize.setCursor(new Cursor(Cursor.SE_RESIZE_CURSOR)); 
    this.add(resize); 

    MouseInputAdapter resizeMouseAdapter = new ResizeMouseHandler(); 
    resize.addMouseMotionListener(resizeMouseAdapter); 


} 
+1

顯然'的JPanel []面板=新PanelDraggable [I](100100100150 ,滾動)'不起作用。首先執行'JPanel []面板=新的PanelDraggable [i]',並添加一個新的PanelDraggable(100,100,100,150,滾動)'到面板數組。 – Karthik

+0

非常感謝您的快速回答! – coo12

回答

3

首先,聲明的期望object陣列 -

PanelDraggable[] panel = new PanelDraggable [size]; 

接着,insantiate每個對象 -

for (int i=0; i<=size; i++) { 
    panel[i] = new PanelDraggable(Your params here); 
}