從它的內容區域拖動一個jframe窗口很簡單,但這裏是問題所在。 當我在框架上添加標籤時,即使拖動標籤 仍然可以,但是當我爲標籤添加mouseclicked事件時,即使沒有代碼實際在適配器中執行,拖動也不會發生在我拖動標籤,但拖動窗口的其餘區域是好的。從內容區域拖動/移動JFrame/JDialog窗口
另一件事是我想讓窗口的不透明度隨鼠標移動而變化, 與this.setOpacity(0.9f); 標籤的鼠標點擊事件設置後,標籤也不會對此作出響應。
任何人都知道如何解決這個問題?
private void formMousePressed(java.awt.event.MouseEvent evt) {
offsetX = evt.getX();
offsetY = evt.getY();
}
private void formMouseDragged(java.awt.event.MouseEvent evt) {
java.awt.Component c = (Component) evt.getSource();
c.setLocation(evt.getXOnScreen() - offsetX, evt.getYOnScreen()- offsetY);
}
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
// nothing actually done in the Label's mouse handler
}
private void formMouseEntered(java.awt.event.MouseEvent evt) {
this.setOpacity(0.9f);
}
private void formMouseExited(java.awt.event.MouseEvent evt) {
this.setOpacity(0.4f);
}
我看到幾個問題。選擇**一個**並使[複製問題的最小,完整,測試和可讀示例](http://stackoverflow.com/help/mcve),以便我們可以測試。 –
'// TODO在這裏添加你的處理代碼:'一旦你添加了一些處理代碼或評論,爲什麼它沒有被實現,刪除這些註釋!他們是噪音。 –
你想要做的事情可以在'JGlassPane'中更好地實現。您不必爲'JFrame'中的每個組件編寫監聽器。您只需爲'JGlassPane'編寫一個鼠標偵聽器,然後在其中實現不透明度更改代碼和'jframe'移動代碼。 –