,可以通过以下步骤实现:
JScrollPane scrollPane = new JScrollPane(table);
panel.add(scrollPane);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // 禁用自动调整列宽
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
完整的代码示例:
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("JTable Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建JTable并设置数据
String[] columnNames = {"Name", "Age", "Gender"};
Object[][] data = {
{"John", 25, "Male"},
{"Jane", 30, "Female"},
{"Bob", 35, "Male"}
};
JTable table = new JTable(data, columnNames);
// 创建JScrollPane并将JTable添加到其中
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
// 创建JPanel并将JScrollPane添加到其中
JPanel panel = new JPanel(new BorderLayout());
panel.add(scrollPane, BorderLayout.CENTER);
frame.add(panel);
frame.setSize(400, 300);
frame.setVisible(true);
}
}
以上代码会创建一个带有水平滚动条的JTable,并将其添加到一个JPanel中,使得JTable可以在JPanel中水平延伸到视区之外。
领取专属 10元无门槛券
手把手带您无忧上云