gpt4 book ai didi

java - 将 JList 添加到表并将表添加到滚动 Pane

转载 作者:行者123 更新时间:2023-12-02 08:36:25 24 4
gpt4 key购买 nike

我创建了一个 JList,我想将其添加到表中,然后将表添加到滚动 Pane 中,以便它们都包含在滚动 Pane 中。

import model.*;
import java.awt. *;
import java.text.*;
import javax.swing.*;
import javax.swing.table.TableColumn;

public class ScrollPanel extends JPanel implements View
{
private Prison prison;
private String[] cells = new String[20];
private JList list = new JList(cells);

public ScrollPanel(Prison prison)
{
this.prison = prison;
prison.attach(this);
setup();
build(prison);
}

public void setup()
{

}

public void build(Prison prison)
{
int rows = 20;
int columns = 2;

for (int i = 0; i < 20; i++)
{
cells[i] = prison.cells().get(i).id();
}

JTable table = new JTable(rows, columns);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
TableColumn column = null;
column = table.getColumnModel().getColumn(0);
column.setPreferredWidth(91);
column = table.getColumnModel().getColumn(1);
column.setPreferredWidth(91);
table.add(list);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setPreferredSize(new Dimension(220, 150));
add(scrollPane);
}

public void update()
{ }
}

这就是当我执行上面粘贴的代码(将列表添加到表中)时我的程序的外观。 alt text http://img21.imageshack.us/img21/3237/11834317.jpg当我将表添加到列表中,然后添加到滚动 Pane 时,它的外观如下。如何将它们添加到滚动 Pane 并同时显示?

alt text http://img27.imageshack.us/img27/3678/94687555.jpg

这就是它应该的样子..

alt text http://img21.imageshack.us/img21/1343/90528093.jpg

最佳答案

通过向表添加 JList 来实现什么目的?这是一件从根本上来说是错误的事情——JTable 根本不打算向其中添加组件。如果您希望表格显示列表中的项目,则需要 TableModel 的实现接口(interface),而不是 JList。

编辑:如果您希望 JList 和 JTable 彼此相邻显示,则必须先将它们添加到 JPanel,然后再将其添加到 ScrollPane。但这是一件相当不寻常的事情。通常,表格位于其自己的 ScrollPane 中。您可以为表和列表分别设置一个单独的 ScrollPane。或者您可以简单地将列表项放在表格的第一列中。哪个更好取决于您的要求。

关于java - 将 JList 添加到表并将表添加到滚动 Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1612871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com