所以我想让我的 Jscrollpane 显示帕斯卡三角形。我有这个:
labelPanel= new JPanel();
lRows = new JLabel[n];
for (int i=0;i<n;i++){
lRows[i]=new JLabel(Arrays.toString(tri.tri[i]));
labelPanel.add(lRows[i]);
}
但这不是我想要的,我不知道如何解决这个问题,包括图片。有什么帮助吗?
最佳答案
默认情况下,JPanel
使用流布局。要获得您想要的垂直排列,您应该能够通过在 labelPanel
上使用垂直方向的 BoxLayout
来实现,然后添加您的 JLabel
行。
labelPanel= new JPanel();
//set this up to order things vertically
labelPanel.setLayout(new BoxLayout(labelPanel, BoxLayout.Y_AXIS));
lRows = new JLabel[n];
for (int i=0;i<n;i++){
lRows[i]=new JLabel(Arrays.toString(tri.tri[i]));
//to center your label, just set the X alignment
lRows[i].setAlignmentX(Component.CENTER_ALIGNMENT)
labelPanel.add(lRows[i]);
}
我还添加了一条线来将行居中,就像你的图片一样。 Component
来自 java.awt
包。
您可以在Java Tutorial中阅读默认可用的不同布局管理器。
关于java - JScrollPane 格式化以显示帕斯卡三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23278691/