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);
}
顯然'的JPanel []面板=新PanelDraggable [I](100100100150 ,滾動)'不起作用。首先執行'JPanel []面板=新的PanelDraggable [i]',並添加一個新的PanelDraggable(100,100,100,150,滾動)'到面板數組。 – Karthik
非常感謝您的快速回答! – coo12