我正在嘗試設計一類無限座標板與網格。我已經擴展了JViewport
,它在初始位置繪製ok(在JScrollPane
之內)。如何告訴滾動窗格有任何方向滾動的空間?如何正確地擴展JViewport?
下不利於
JCoordinateViewport coordinate = new JCoordinateViewport();
coordinate.setBackground(Color.WHITE);
//coordinate.setPreferredSize(new Dimension(10000, 10000));
JScrollPane scroll = new JScrollPane();
//scroll.setViewportView(coordinate);
scroll.setViewport(coordinate);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.getVerticalScrollBar().setMinimum(-10000);
scroll.getVerticalScrollBar().setMaximum(+10000);
scroll.getHorizontalScrollBar().setMinimum(-10000);
scroll.getHorizontalScrollBar().setMaximum(+10000);
UPDATE
有誰知道JScrollPane中如何確定滾動的範圍從它的視?
UPDATE2
我發現,如果最大值和最小值都setVisible
稱爲後置出現滾動科技工作。
但不幸的是,paintConponent
沒有調用滾動。
爲什麼?
UPDATE3
雖然滾動條的工作,他們不改變視口位置。
爲什麼?
滾動是基於加入到該滾動窗格的視口中的部件的優選尺寸。 – camickr 2013-02-21 22:29:07
我沒有組件,我擴展'JViewport',它的組件是'null'。 – 2013-02-21 22:35:51
那麼一個scrollpane被設計爲在其視口中顯示一個組件,所以這將是你的問題。 – camickr 2013-02-22 01:23:26