java中解決組件重疊的問題(例如鼠標移動組件時)

java中解決組件覆蓋的問題!
? ? ?有時候在移動組件的時候會出現兩個組件覆蓋的情況,但是你想讓被覆蓋的組件顯示出來或者不被覆蓋!
在設計GUI時已經可以定義組件的疊放次序了(按擺放組件的先后順序)。
真正麻煩的是響應哪個組件,這就要創建一個鏈表,把組件對象按順序存起來,響應事件時掃描這個鏈表,按
鏈表中的先后順序選擇響應組件對象。
? ? ?所以要想滿足自己的需求,那么在添加組件的時候就要注意順序就好了!

? ? ?另外如果不想用上面的方法,那么你就采用JLayeredPane這個類,分層面板可以幫助你解決覆蓋中的問題!

例如moveToFront(Componet), moveToBack(Component), setPosition(), setLayer()。。。。

import java.awt.Button;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.JLayeredPane;//實現鼠標移動組件的小程序
public class ParentAndChild {static Point oldPt;static JLayeredPane pane = new JLayeredPane();static Button btn = new Button(), btn1 = new Button("嘻嘻嘻");public static void main(String[] args) {Frame fm = new Frame("哈哈哈");fm.setVisible(true);pane.setLayout(new FlowLayout());fm.add(pane, "Center");btn.setLabel("啦啦啦");btn.addMouseListener(new MouseAdapter() {public void mousePressed(MouseEvent e) {oldPt=e.getLocationOnScreen();}public void mouseReleased(MouseEvent e) {pane.setPosition(btn, -1);} });btn.addMouseMotionListener(new MouseMotionAdapter() {public void mouseDragged(MouseEvent e) {Point pt = e.getLocationOnScreen();btn.setLocation(new Point(btn.getX() + pt.x-oldPt.x,btn.getY() + pt.y-oldPt.y));oldPt=pt;}});btn.setPreferredSize(new Dimension(200, 100));pane.add(btn);pane.add(btn1);fm.setSize(new Dimension(600, 800));fm.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}}

  

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3970583.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531666.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531666.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531666.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab橋梁受力計算公式,matlab橋梁計算

等級:文件 218KB格式 pdf內容簡介 該文結合斜拉橋施工監控的工程實踐,分析研究利用MATLAB 6.0神經網絡算法,可實現模式識別和函數逼近,進行信號處理,利用人工智能進行自動控制及非線性預測等。斜拉橋智能施…

php自然排序法的比較過程,PHP中strnatcmp()函數“自然排序算法”進行字符串比較用法分析(對比strcmp函數)...

本文實例講述了PHP中strnatcmp()函數“自然排序算法”進行字符串比較用法。分享給大家供大家參考,具體如下:PHP中strnatcmp()函數使用"自然"算法來比較兩個字符串(區分大小寫),通常在自然算法中,數字 2 小于數字 10。而…

2014 網選 5014 Number Sequence(異或)

1 /*2 題意:a, b兩個序列,規定由[0, n]區間的數!3 求 a[i] ^ b[i] 的和最大! 4 5 思路:如果數字 n的二進制有x位, 那么一定存在一個數字m,使得n^m的所有二進制位6 都是1&am…

2014 網選 5007 Post Robot(暴力或者AC_自動機(有點小題大作了))

//暴力&#xff0c;從每一行的開始處開始尋找要查詢的字符 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std;char str[100005];int main(){while(gets(str)){for(int i0; str[i]; i)if(str[i]A){if(s…

java 如何放大動畫圖,Android仿微信圖片放大動畫

&#xff03;今年三月份直接上手做的android&#xff0c;代碼寫的不規范&#xff0c;有問題希望指出&#xff0c;謝謝(app數英)類似于微信 圖片瀏覽的效果&#xff0c;我的做法是在兩個activity A\B之間傳遞圖片的位置信息思路&#xff1a;在activity A的list view上有一張圖片…

2014 網選 5012 Dice(bfs模板)

1 /*2 題意&#xff1a;就是給定兩個篩子&#xff0c;每個篩子上6個面&#xff0c;每個面的數字屬于[1,6]&#xff0c; 且互不相同&#xff01;3 問a篩子最少經過按照題目規定的要求轉動&#xff0c;達到和b篩子上下左右前后的數字相同&#xff01;4 5 思路&am…

matlab 神經網絡dpi,基于DPI和BP神經網絡的P2P流量識別研究

研究與開發 現代計算機 2019.04 上 文章編號&#xff1a;1007-1423(2019)10-0031-05 DOI&#xff1a;10.3969/j.issn.1007-1423.2019.10.007 基于 DPI 和 BP 神經網絡的 P2P 流量識別研究 萬建偉&#xff0c;胡勇 (四川大學電子信息學院&#xff0c;成都 610021) 摘要&#xff…

2014 網選 5011 Game(Nim游戲,數學題)

/*題意&#xff1a;Nim游戲&#xff01; 思路&#xff1a;通過異或&#xff0c;判斷將n個數表示成二進制的形式之后&#xff0c;是否對應位的數字1 的個數是偶數&#xff01; */ #include<iostream> using namespace std;int main(){int n, x, s;while(cin>>n){s…

漢諾塔實踐python,Python練習題11:漢諾塔實踐

在終端輸出如下信息--python在終端輸出如下信息--python ???????????????????????????????????????????????????????????????????????????????????????????????? 描述 練習一…

oracle授權只讀用戶,Oracle創建只讀用戶(賬號)的方法

第一步&#xff1a;創建用戶(需要使用有dba管理員權限的用戶創建一個新的用戶&#xff0c;比如system)create user 用戶名 identified by 密碼 default tablespace 表空間;第二步&#xff1a;賦連接權限grant connect to 用戶名;grant Resource to 用戶名;權限分類&#xff1a;…

java中圖片文件的傳輸及顯示(Socket以及ServerSocket演示)

//客戶端部分 package testSix;import java.awt.Graphics; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.util.Iterator;import javax.imageio.ImageIO; import …

oracle 表約束非空,oracle--約束(主鍵、非空、檢查)

問題1:學號重復了&#xff0c;數據還可以插入成功使用主鍵約束&#xff1a;學號是唯一標識一條數據的&#xff0c;所以必須唯一且不能為空---(1)、在確定為主鍵的字段后添加 primary key關鍵字---(2)、在創建表的后面使用&#xff1a;constraints pk_表名_字段名 primary key(字…

先序,中序,后序線索二叉樹

//后序線索&#xff0c;這種方法不容易想到 1 #include<iostream>2 #include<cstring>3 #include<cstdio>4 #include<algorithm>5 6 using namespace std;7 8 struct TREE{9 int val; 10 TREE *ch[2]; 11 TREE *thread;//該節點的線索的…

cdp備份適合oracle嗎,備份系統建設中的四個認識誤區,你有嗎?

【摘要】本文總結了企業在備份建設中常見的四個認識誤區。【作者】李志剛企業在備份建設中&#xff0c;主要的認識誤區有以下幾個&#xff1a;一、用雙機、陣列復制等系統冗余替代數據備份雙機雙柜可實現服務器和存儲的高可用性&#xff0c;保障業務持續運行&#xff0c;但絕不…

2014 網選 廣州賽區 hdu 5023 A Corrupt Mayor's Performance Art

1 #include<iostream>2 #include<cstring>3 #include<cstdio>4 #include<algorithm>5 #define N 10000056 using namespace std;7 8 int c[35];9 int tree[N*4];//正值表示該節點所管理的區間的顏色是純色&#xff0c;-1表示的是非純色 10 int n, m; …

oracle的todate函數 不用英文,關于在mybaties 和 oracle的to_date函數的問題?

ITMISSD)TO_DATE使用詳解時常使用to_date函數來查詢特定時間內的數據。語法&#xff1a;TO_DATE(x [, format])用于將字符串x轉換為時間值&#xff0c;該函數可以指定一個可選的字符串format參數來說明x的格式。如果沒有指定format參數&#xff0c;日期就使用默認的數據庫格式(…

2014 網選 廣州賽區 hdu 5025 Saving Tang Monk(bfs+四維數組記錄狀態)

1 /*2 這是我做過的一道新類型的搜索題&#xff01;從來沒想過用四維數組記錄狀態&#xff01;3 以前做過的都是用二維的&#xff01;自己的四維還是太狹隘了.....4 5 題意&#xff1a;悟空救師傅 &#xff01; 在救師父之前要先把所有的鑰匙找到&#xff01;6…

oracle move 換用戶,Oracle?move方法釋放delete后的表空間

在新增記錄時,高水位線會慢慢往上移,但是在刪除記錄后,高水位線卻不會往下移。在使用delete from命令刪除大量數據時會導致因HWM引起的性能問題。刪除高水位的最直接的方法是truncate Table。-----Oracle 頻繁delete表空間無法釋放&#xff0c;釋放表空間方法&#xff0c;清除…

oracle 字段除以1000,ORACLE常用}1000(之一)_oracle

大家在oracle的r候可能齙膠芏囁雌聿渾y的}, 特eπ率碚f, 今天我偉閹Y一下, l布o大家, 希望Υ蠹矣助! 和大家一起探, 共同M步!     ORACLE高手碚f是不用看的. 1. Oracle安b完成后的初始口令?   internal/oracle   sys/change_on_install   system/manager   scott/…

java中圖片文件的判斷

javax.imageio 類 ImageIO BufferedImage bi ImageIO.read(resFile);//resFile --- InputStreamif(bi null){ System.out.println(此文件不為圖片文件); }try {//判斷是否為圖片文件并且返回圖片的格式&#xff01;ImageInputStream iis ImageIO.createImageInputStream(o)…