兄弟我有一个关于java添加滚动条的问题, 几百个按钮在一个panel,试了好多方法都不行,你能帮帮我吗
1个回答
展开全部
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class SPDemo extends JFrame {
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SPDemo frame = new SPDemo();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public SPDemo() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("滚动条窗口");
setSize(700,600);
setLocationRelativeTo(null);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JScrollPane scrollPane = new JScrollPane();
contentPane.add(scrollPane, BorderLayout.CENTER);
JPanel panel = new JPanel(new GridLayout(20, 10,10,10));//表格布局 20行 10列 按钮的间隔,横向间隔10,纵向间隔10
for (int i = 1; i <= 200; i++) {
String num;
if (i < 10) {
num = "00" + i;
} else if (i < 100) {
num = "0" + i;
} else {
num = "" + i;
}
panel.add(new JButton(num));
}
//给滚动组件 添加 面板
scrollPane.setViewportView(panel);
//设置垂直滚动条的显示: 一直显示
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//设置横向滚动条的显示: 当需要的时候显示
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
//参数说明:
//AS_NEEDED 需要的时候显示
//ALWAYS 一直显示
//NEVER 绝不显示
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询