我会在Java Swing中使用JScrollPane来包含一个填充了其他面板的Panel。 我创建了我的JPanel,并在其中填充了6个其他面板,这些面板代表了游戏板中的一张卡片。 然后我创建了我的JScrollpane,并将我的JPanel设置为一个新的视口,但在运行时,滚动条不会出现,我的JPanel会被切断,而JScrollPane只显示6张卡上的4张卡片。 显然我已经检查了我的大面板尺寸,它比JScrollPane更大,但是它没有用。
Double politicRelX=0.0686275;
Double politicRelY=0.39726;
Dimension politicDim=//dimension of my JScrollPane
JScrollPane scrollCards=new JScrollPane();
scrollCards.setBounds(//politicDimBounds);
playerTab.add(scrollCards);
JLabel politicsCards=new JLabel();
politicsCards.setName("politicsCards");
politicsCards.setLayout(null);
int dinstanceX=(int)(0.028634*politicDim.width);
int dinstanceY=(int)(0.02395*politicDim.height);
int space=(int)(0.028634*politicDim.width);
Dimension cardDim=new Dimension(//cardDimension);
for(int i=0;i<player.getCardsOwned().size();i++){
JPanel card=new ImagePanel(player.getCardsOwned().get(i).getImagePath(),cardDim);
card.setName("politicsCard"+i);
card.setBounds(dinstanceX, dinstanceY, cardDim.width, cardDim.height);
dinstanceX+=cardDim.width+space;
politicsCards.add(card);
}
scrollCards.setViewportView(politicsCards);
那么,我忘记了什么?