我試圖讓hist
(HistoryPanel extends JPanel)成爲JScrollPane的視口,histScroll
。問題是水平滾動條不會顯示出來,除非我強迫它顯示滾動條策略(在下面的代碼中),即使我強制它,也無處滾動。問題是HistoryPanel的大小拒絕水平增加。我嘗試了不同的方式來設置hist
的大小,但它仍然保持水平固定大小。但是,垂直方向,它工作得很好。我不明白問題是什麼。JScrollPane視口大小
public SuperPanel(GoPanel panel)
{
super(new BorderLayout());
setFocusable(false);
score = new ScorePanel();
go = panel;
go.scorePanel = score;
score.setPreferredSize(new Dimension(panel.getWidth(), 20));
hist = new HistoryPanel(go);
hist.setPreferredSize(new Dimension(panel.getWidth()*20, 100*5));
//hist.setMinimumSize(new Dimension(panel.getWidth()*20, 100*5));
//hist.setSize(new Dimension(panel.getWidth()*20, 100*5));
go.histPanel = hist;
histScroll = new JScrollPane(hist, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
histScroll.setPreferredSize(new Dimension(panel.getWidth(), 100));
add(score, "North");
add(panel, "Center");
add(histScroll, "South");
}
我可以向下滾動所有我想要的,但我無法滾動到右側。這是一個大問題,因爲它切斷了一些圖像,在這個程序中,水平滾動實際上比垂直滾動更重要。
發佈鏈接至您的圖像。 – alex2410
panel.getWidth()的值是什麼? – wxyz
[這是截圖](http://i.imgur.com/cCEx8LI.png) – iamstickfigure