sách gpt4 ai đã đi

带有flowlayout的java滚动面板

In lại 作者:行者123 更新时间:2023-11-29 06:46:51 25 4
mua khóa gpt4 Nike

出于某种原因,我无法正常工作。它真的应该很简单。

我有一个带有 BorderLayout 的 JFrame,它包含一个 JPanel(SOUTH)和一个(CENTER)JPanel (itemPanel)。

itemPanel 应该包裹在滚动 Pane 中。它的宽度 = x,它的所有子元素共享它的长度,所以它基本上就像一个只有 1 列的表格。

出于某种原因,我无法让滚动 Pane 显示滚动条(和滚动条)。在 JFrame 中:

setPreferredSize(dimension);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add("South",controlPanel);
JScrollPane scroll = new JScrollPane(itemPanel);
scroll.setBorder(null);
getContentPane().add("Center",scroll);
super.pack();
setVisible(true);

初始化并向 itemPanel 添加一些虚拟面板:

itemPanel = new ItemPanel(); // A JPanel with a flowlayout
itemPanel.setPreferredSize(new Dimension(dimension.width,0));
for(int i = 0; i < 20; i++){
JPanel p = new JPanel();
p.setPreferredSize(new Dimension(0,50));
p.setBackground(i%2 == 0 ? Color.GREEN : Color.YELLOW);
itemPanel.add(p);
}

如果省略 itemPanel.setPreferredSize(new Dimension(dimension.width,0)); 滚动 Pane 显示水平滚动条,但由于流式布局没有可遵循的宽度,它只显示一排组件。

1 Câu trả lời

FlowLayout 不会重新计算面板的首选大小。只有当组件的首选大小大于滚动 Pane 的大小时,滚动条才会出现。

WrapLayout可能是您正在寻找的。

关于带有flowlayout的java滚动面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3592828/

25 4 0
Bài viết được đề xuất: java - 添加到空 ArrayList 的中间?
Bài viết được đề xuất: Kiến thức cơ bản về Java - Việc triển khai diễn ra ở đâu?
Bài viết được đề xuất: java - PrimeFaces 验证码未在 Chrome 下显示
Bài viết được đề xuất: java - 提交 hibernate 事务有多昂贵?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com