pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

如何在 Java 中檢測(cè) Image 對(duì)象上的鼠標(biāo)單擊事件

How can you detect a mouse-click event on an Image object in Java?(如何在 Java 中檢測(cè) Image 對(duì)象上的鼠標(biāo)單擊事件?)
本文介紹了如何在 Java 中檢測(cè) Image 對(duì)象上的鼠標(biāo)單擊事件?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問題描述

限時(shí)送ChatGPT賬號(hào)..

在 Java 中實(shí)現(xiàn)Kings' Corners"(美化多人紙牌).

Implementing "Kings' Corners" (glorified multiplayer Solitaire) in Java.

我試圖讓玩家將一張牌(圖像)從他們的手中拖到桌子上的其他地方.問題是玩家的手是扇形的",因此卡片的圖像會(huì)旋轉(zhuǎn)并且它們重疊.

I'm trying to allow a player to drag a card (image) from their hand to somewhere else on the table. The problem is that the player's hand is "fanned" so the images of the cards are rotated and they overlap.

這是一手牌的例子:

我考慮過(guò)將每張卡片設(shè)為 JPanel,但問題是我必須在其 矩形 JPanel<內(nèi)繪制旋轉(zhuǎn)的卡片/code>,因?yàn)樗鼈儽旧聿荒苄D(zhuǎn).理想情況下,我想避免使用鼠標(biāo) x,y 公式來(lái)確定選擇哪張卡.

I've considered making each card a JPanel, but the issue then is that I'd have to paint the card rotated inside its rectangular JPanel, as they themselves can't be rotated. Ideally I'd like to avoid mouse-x,y formulas to determine which card is being chosen.

使用事件驅(qū)動(dòng)的方法,我如何確定從手牌中選擇哪張牌?

Using an event-driven approach, how can I determine which card is chosen from the hand?

推薦答案

AWT(和 Swing)組件通常是矩形的(與軸對(duì)齊).

AWT (and Swing) components are normally rectangular (aligned to the axes).

但這不一定是這樣 - 雖然實(shí)際邊界必須是矩形,但組件使用的實(shí)際區(qū)域可以更小.組件支持 contains(Point) 方法,只要出現(xiàn)點(diǎn)屬于哪個(gè)組件的問題(例如,鼠標(biāo)單擊),事件調(diào)度機(jī)制就會(huì)調(diào)用該方法.(不同組件的重疊將由父容器內(nèi)的 z-order 處理.)

But this does not have to be the case - while the real bounds must be rectangular, the actual area which a component uses can be smaller. Component supports a contains(Point) method, which will get called by the event dispatch mechanism whenever the question arises to which component a point belongs - for example, for mouse clicks. (Overlapping of different components will be handled by the z-order inside the parent container.)

您可以基于 Shape.contains() 方法實(shí)現(xiàn)此方法,使用仿射變換的矩形作為您的形狀.每個(gè)旋轉(zhuǎn)的組件都將知道自己的形狀(或從其 AffineTransform 動(dòng)態(tài)生成它,它也將用于繪畫本身).

You can implement this method based on the Shape.contains() method, using a affine transformed rectangle as your shape. Each of your rotated components would know its own shape (or generate it on the fly from its AffineTransform, the same one which would also be used for painting itself).

有一個(gè)自定義的 LayoutManager 也可以安排您的卡片.(不要使用 CardLayout,盡管有這個(gè)名字.)

Have a custom LayoutManager which arranges your cards, too. (Don't use CardLayout, despite the name.)

我不確定我是否會(huì)遵循為每張卡片設(shè)置單獨(dú)組件的方式,但您肯定需要一些代表旋轉(zhuǎn)矩形的對(duì)象.

I'm not sure I would follow the way of having separate components for each card, but you certainly need some objects which represent the rotated rectangles.

這篇關(guān)于如何在 Java 中檢測(cè) Image 對(duì)象上的鼠標(biāo)單擊事件?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Parsing an ISO 8601 string local date-time as if in UTC(解析 ISO 8601 字符串本地日期時(shí)間,就像在 UTC 中一樣)
How to convert Gregorian string to Gregorian Calendar?(如何將公歷字符串轉(zhuǎn)換為公歷?)
Java: What/where are the maximum and minimum values of a GregorianCalendar?(Java:GregorianCalendar 的最大值和最小值是什么/在哪里?)
Calendar to Date conversion for dates before 15 Oct 1582. Gregorian to Julian calendar switch(1582 年 10 月 15 日之前日期的日歷到日期轉(zhuǎn)換.公歷到儒略歷切換)
java Calendar setFirstDayOfWeek not working(java日歷setFirstDayOfWeek不起作用)
Java: getting current Day of the Week value(Java:獲取當(dāng)前星期幾的值)
主站蜘蛛池模板: 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 山东螺杆空压机,烟台空压机,烟台开山空压机-烟台开山机电设备有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 广西教师资格网-广西教师资格证考试网| 南方珠江-南方一线电缆-南方珠江科技电缆-南方珠江科技有限公司 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 【法利莱住人集装箱厂家】—活动集装箱房,集装箱租赁_大品牌,更放心 | 铁盒_铁罐_马口铁盒_马口铁罐_铁盒生产厂家-广州博新制罐 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 郑州水质检测中心_井水检测_河南废气检测_河南中环嘉创检测 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 双齿辊破碎机-大型狼牙破碎机视频-对辊破碎机价格/型号图片-金联机械设备生产厂家 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 3A别墅漆/3A环保漆_广东美涂士建材股份有限公司【官网】 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 标准品网_标准品信息网_【中检计量】|