日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了畫一條連接兩個(gè)矩形的線的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我正在用Swing/AWT制作我自己的類圖應(yīng)用程序,但我在此功能上停了下來:

我想在已經(jīng)選擇的Class矩形和目標(biāo)Class矩形之間畫一條線,但是LINE有一個(gè)功能,那就是每當(dāng)我移動其中一個(gè)矩形時(shí),連接它們的線就會隨著移動的矩形直線彎曲,我希望下面的圖片演示我想要實(shí)現(xiàn)的目標(biāo):

非常感謝通用指南或示例代碼

推薦答案

我不懂JAVA,但您可以遵循以下步驟:

找到每行矩形的中間位置(應(yīng)該很簡單,只需平均x1+x2和y1+y2)
在上一步中獲得的點(diǎn)上使用畢達(dá)哥拉斯公式確定彼此最接近的邊。
從xa,ya(您在上面步驟中得到的第一個(gè)點(diǎn))開始繪制一條線,并將其繪制在遠(yuǎn)離矩形的方向。您應(yīng)該知道此方向,因?yàn)槟梢灾涝擖c(diǎn)所在的線段。
對xb,yb(第二個(gè)矩形上的點(diǎn))執(zhí)行相同的操作。如果線條方向相反,您應(yīng)該將它們繪制到xa-xb或ya-yb的中途(取決于您是水平還是垂直繪制)。如果它們是垂直的(這是正確的詞嗎?)你應(yīng)該把它們畫到交叉點(diǎn),所以你從xa,ya畫到xa,yb或xa,ya到xb,ya,這取決于你畫的是水平線還是垂直線。
應(yīng)該有一些額外的檢查,以查看矩形是否重疊。例如,您不應(yīng)該在同一方向上繪制線條。在無法確定如何繪制這些直線的情況下,您只需在這兩個(gè)點(diǎn)之間畫一條對角線就足夠了。

對于實(shí)現(xiàn),您可以構(gòu)建一個(gè)Line類,該類使用觀察器模式偵聽它跟隨的兩個(gè)矩形,這樣只要其中一個(gè)矩形移動或調(diào)整大小,它就可以自我更新。

這篇關(guān)于畫一條連接兩個(gè)矩形的線的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標(biāo)簽:兩個(gè) 畫一 矩形 連接
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定