我是Swing中的新人。我有要求使用swing執行拖放操作。在當前幀中包含不同的面板,即中央面板& LeftPanel有子面板,即控制面板,屬性面板。我試圖將標籤/ jbuttons /圖像從控制面板拖放到中央面板。這些面板使用BorderLayout使用擺動在兩個面板之間拖放?
我試着拖放鼠標事件。我把鼠標列表放在控制面板上。當我丟棄標籤/圖像爲中心panel.It讀取-X &ŸCooridnates和檢查代碼
private void mak_lis(final SLabel l) {
l.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent m) {
System.out.println("mak_lis Mouse mousePressed");
setCursor(yd);
// l.setBorder(new MatteBorder(1,1,1,1,Color.black));
}
public void mouseReleased(MouseEvent m) {
l.setBorder(null);
setCursor(dc);
System.out.println("mak_lis Mouse mouseReleased");
int x = -(m.getX() + l.getX() - leftPanel.getX());
int y = m.getY() + l.getY() + leftPanel.getY();
System.out.println("mak_lis Mouse mouseReleased" + "x" + x+ "y" + y);
if (y > 0 && x > 0 && y < leftPanel.getHeight() && x < leftPanel.getWidth()) {
leftPanel.add(new_lab(l, x, y));
leftPanel.repaint();
Component[] components1 = leftPanel.getComponents();
Component component = null;
for (int i = 0; i < components1.length; i++) {
// System.out.println("components iii"+ components1[i]);
component = components1[i];
}
}
}
});
}
請告訴我,有沒有在這裏失蹤。實現拖放功能的最佳方法是什麼?
*「我正在使用swing實現設計器工具。」*一位不知名的GUI設計師? (不寒而慄)已經有太多的GUI程序員需要稍後修復這些問題。 –
@AndrewThompson我會說有太多的程序員創建問題,他們不明白的工具;) – MadProgrammer
可能的重複[如何設置優先鼠標偵聽器](http://stackoverflow.com/questions/14273923/我怎麼能設置優先鼠標偵聽器) –