亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

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

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

本文介紹了如何在JScrollPane中使垂直和水平滾動(dòng)條居中?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我有一個(gè)JPanel,其中有一個(gè)JLabel,添加到JScrollPane中。我有一個(gè)調(diào)用JLabel.setIcon("file.jpg");的actionListener。圖像正確地顯示在JScrollPane中并且是全尺寸的。滾動(dòng)條顯示得非常完美。默認(rèn)情況下,我嘗試將垂直和水平滾動(dòng)條放置在中間,這樣默認(rèn)情況下您會(huì)看到圖像的中心。

是否有JScrollPane方法可以將視區(qū)定位在圖像的中心?或者,我可以手動(dòng)將每個(gè)滾動(dòng)條的位置設(shè)置為最大尺寸除以2嗎?

我已嘗試

JScrollPane.getVerticalScrollBar().setValue(JScrollPane.getVerticalScrollBar().getMaximum() / 2);

當(dāng)它編譯時(shí),它不會(huì)使?jié)L動(dòng)條居中。我還嘗試將JPanel的布局管理器設(shè)置為GridBagLayout,但也不起作用。

推薦答案

基本上,您需要知道視區(qū)的可視區(qū)域的大小。

Rectangle bounds = scrollPane.getViewport().getViewRect();

然后您需要該組件的大小,但一旦將其添加到滾動(dòng)窗格中,您就可以從查看端口獲得該大小…

Dimension size = scrollPane.getViewport().getViewSize();

現(xiàn)在您需要計(jì)算中心位置…

int x = (size.width - bounds.width) / 2;
int y = (size.height - bounds.height) / 2;

然后您只需調(diào)整視窗位置…

scrollPane.getViewport().setViewPosition(new Point(x, y));

現(xiàn)在,請(qǐng)記住,只有在屏幕上實(shí)現(xiàn)了滾動(dòng)窗格(或者至少在其父容器中進(jìn)行了布局),這才能起作用

這篇關(guān)于如何在JScrollPane中使垂直和水平滾動(dòng)條居中?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,

分享到:
標(biāo)簽:JScrollPane 垂直 如何在 居中 水平 滾動(dòng)條
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

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

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

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

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

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

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定