Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可旋转网格_Java_Swing - Fatal编程技术网

Java 可旋转网格

Java 可旋转网格,java,swing,Java,Swing,我正在为服务器编写代码,当每个客户端连接时,通过在服务器的GUI上动态添加JLabel来显示其用户名,例如: public class Server { public void connect () { //Handle client frame.add(new JLabel(client.getUsername())); } } 现在,我想将它们添加到一个包含三列的网格/表格中,每个JLabel占用不同的单元格。当表格填满时,随着自动添加更

我正在为服务器编写代码,当每个客户端连接时,通过在服务器的GUI上动态添加
JLabel
来显示其用户名,例如:

public class Server {

    public void connect () {
        //Handle client
        frame.add(new JLabel(client.getUsername()));
    }

}
现在,我想将它们添加到一个包含三列的网格/表格中,每个
JLabel
占用不同的单元格。当表格填满时,随着自动添加更多的行,表格应该可以滚动

我不知道该怎么做。将
GridLayout
JScrollPane
添加到同一
JFrame
会将
JScrollPane
设置为一个单元格,而不是整个表格


这样做的好方法是什么?

网格必须位于滚动窗格内。这可以通过使用构造函数来实现

JScrollPane(Component view)

您还可以调整滚动窗格,使滚动条在不需要时隐藏:

JScrollPane scroll = new JScrollPane(myGrid,
        JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

之后,您必须将滚动窗格添加到iframe,而不是网格。

,组件视图的具体内容是什么?我猜是带有网格布局的
JFrame
?Swing组件位于JFrame内部,例如JPanel、JLabel、JScrollPane等。
JScrollPane scroll = new JScrollPane(myGrid,
        JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);