sách gpt4 ai đã đi

jpanel - 将 JScrollPane 添加到 JPanel

In lại 作者:行者123 更新时间:2023-12-04 20:22:11 32 4
mua khóa gpt4 Nike

我有这个界面要创建。我有 JScrollPane 的问题:

nhập mô tả hình ảnh ở đây

我声明了一个带有 Gridlayout(8,1,0,2) 的 JPanel,我希望在这个面板中出现 8 行。
一行是一个JPanel,我设置了大小,使8行面板出现在大面板中。
如果行数超过 8,我会得到两列......
我添加了一个 JScrollPane 但它没有出现。
在按钮的位置测试按钮,滚动 Pane 出现但返回面板它消失..

我能怎么做 ??

1 Câu trả lời

我找到了一个解决方案:

package d06.m03;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.SystemColor;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.BoxLayout;

public class ActionExample4 extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
công khai void run() {
thử {
ActionExample4 frame = new ActionExample4();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public ActionExample4() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 778, 426);
getContentPane().setLayout(null);

JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10, 101, 742, 276);
//scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
getContentPane().add(scrollPane);

JPanel borderlaoutpanel = new JPanel();
scrollPane.setViewportView(borderlaoutpanel);
borderlaoutpanel.setLayout(new BorderLayout(0, 0));

JPanel columnpanel = new JPanel();
borderlaoutpanel.add(columnpanel, BorderLayout.NORTH);
columnpanel.setLayout(new GridLayout(0, 1, 0, 1));
columnpanel.setBackground(Color.gray);

for(int i=0;i<32;i++) {
JPanel rowPanel = new JPanel();
rowPanel.setPreferredSize(new Dimension(300,30));
columnpanel.add(rowPanel);
rowPanel.setLayout(null);

JButton button = new JButton("New button");
button.setBounds(20, 5, 89, 23);
rowPanel.add(button);

if(i%2==0)
rowPanel.setBackground(SystemColor.inactiveCaptionBorder);
}
}
}

关于jpanel - 将 JScrollPane 添加到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5221017/

32 4 0
行者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