java - JScrollPane 格式化以显示帕斯卡三角形

标签 java swing layout jscrollpane

所以我想让我的 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]);
}

但这不是我想要的,我不知道如何解决这个问题,包括图片。有什么帮助吗?

Painted!

最佳答案

默认情况下,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/

相关文章:

java - 测试仪的类逻辑错误显示以前的时间而不是新的

java - 如何在 java swing 中为文本字段使用过滤器?

java - JSlider 未从鼠标事件正确更新

安卓;带有自定义对话框的进度条

html - 如何在父 div 中定位文本 block ?

java - 无法在 Java : "pathLenConstraint violated - this cert must be the last cert in the certification path" 中对 SSL 站点进行身份验证

java高级休息客户端连接给出ssl错误

java - JTextField 的值更改监听器

android - 没有足够的空间来展示广告

java - 将 int 与枚举匹配的优雅方式,其中每个枚举类型对应一个范围