0
我有一個彈出菜單,它顯示了JScrollPane中一個JPanel中動態創建的自定義JPanel對象。彈出菜單向用戶顯示建議,最上面的元素是最相關的建議。我使用的JPopupMenu顯示窗口:在彈出窗口中的JScrollPane不能以編程方式向上滾動
JPanelTemplatePopup jptep = new JPanelTemplatePopup();
JPopupMenu popup = new JPopupMenu();
popup.add(jptep);
popup.show(this, 500, 100);
的問題是,我不能讓JScrollPane的滾動到最頂端的元素先顯示它。我曾嘗試過:
- .getViewPort().setViewPosition(new Point(0,0));
- .scrollRectToVisible(firstelement.getBounds());
validate()s之前和之後。不管我做什麼,當窗口彈出時,滾動窗格總是停留在同一個地方。
我甚至懷疑在顯示窗口之前發生的操作被忽略了,所以我創建並從類中調用了一個公共方法來使窗口在顯示後滾動。沒有改變。
請幫幫忙,
埃姆雷
我認爲這是類似於一個競爭狀態。 顯示彈出窗口後,滾動條需要更新*。我想我需要找到一種在完全顯示彈出窗口時觸發動作的監聽器。 – Emre 2010-08-17 09:42:29