想要动态地将多个表添加到一个帧

时间:2016-01-20 15:49:22

标签: java swing jtable

我想在我的框架中添加一些表格,具体取决于某些内容

所以把这个

        int x=17;
    int y=95;
    for(int i=0;i<5;i++)
    {
    table[i].setBounds(x+50,y+50, 525, 44);
    contentPane.add(table[i]);
    }

但没有任何讨厌

1 个答案:

答案 0 :(得分:2)

您完全忽略了Java布局管理器,首先尝试将多个组件添加到内容窗格,而没有意识到它是默认的BorderLayout意味着稍后添加的任何组件将覆盖并替换之前添加的所有组件,然后通过试图用setBounds新手拐杖。解决方案:使用布局管理器充分受益。例如,如果您将contentPane设置为使用GridLayout或BoxLayout,然后将JTables(包含在JScrollPanes中)添加到它,您可能会更接近您想要的。

您可以使用null布局,但我会强烈建议您不要这样做。虽然null布局和setBounds()似乎是Swing新手,比如创建复杂GUI的最简单和最好的方法,但是你创建的Swing GUI越多,在使用它们时会遇到更严重的困难。当GUI调整大小时,它们不会调整组件的大小,它们是增强或维护的皇室女巫,当它们被放置在滚动窗格中时它们完全失败,当它们在所有平台上观看时或者与原始平台不同的屏幕分辨率时它们看起来很糟糕

最重要的是 - Google并研究Java Swing教程,尤其是布局管理器部分。