gpt4 book ai didi

java - 如何将 JTable 放入 JScrollPane 中?

转载 作者:行者123 更新时间:2023-12-02 05:47:00 25 4
gpt4 key购买 nike

这是我的代码:

    String col[] = {"No","Name","Capacity"};
final DefaultTableModel tablemodel = new DefaultTableModel(col,0);

Container contentPane = this.getContentPane();
JTable table = new JTable(tablemodel);
table.setBounds(414, 39, 294, 281);
contentPane.add(table);
contentPane.add(new JScrollPane(table));

JButton btnCreateTheMovie = new JButton("Create the movie theater");
btnCreateTheMovie.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
movietheater.addMovieTheater(addtheaterID.getText(), Integer.parseInt(addtheater_capacity.getText()));
try {
write_movie_theater = new PrintWriter(new FileOutputStream(new File("d:/movietheater.txt"),true));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
};

int x = movietheater.movietheater_array.size()-1;
i++;
String ID = movietheater.movietheater_array.get(x).getID();
int capacity = movietheater.movietheater_array.get(x).getCapacity();

Object[] data = {i,ID,capacity};
tablemodel.addRow(data);
}
});
btnCreateTheMovie.setBounds(75, 192, 166, 23);
contentPane.add(btnCreateTheMovie,BorderLayout.NORTH);

我运行了这段代码,但 JTtable 不可见。如何将 JScrollpane 添加到 JList?我如何查看 jtable header ?

我该如何修复它?

最佳答案

JFrame默认情况下使用 BorderLayout在每个部分(北、南、中、西、东)中仅添加单个组件。请查看How to Use BorderLayout .

记住:

  • 不要使用 setBounds() 方法,只需将其交给布局管理器来设置其用途的组件的大小和位置。
  • 使用ActionListener而不是MouseListener对于JButton
  • 避免使用绝对定位的 null 布局,并且您必须指定该容器内每个组件的大小和位置。绝对定位的一个缺点是,当调整顶级容器的大小时,它不能很好地调整。它也不能很好地适应用户和系统之间的差异,例如不同的字体大小和区域设置。
<小时/>

进行一些更改后重试:

  • 无需在 contentPane 中添加 JTable,因为它已添加到 JScrollPane
  • 只需将 JScrollPane 添加到 JFrame 的中心
  • 根据您的需要在北或南添加 JButton

示例代码:

String col[] = { "No", "Name", "Capacity" };
DefaultTableModel tablemodel = new DefaultTableModel(col, 0);

Container contentPane = this.getContentPane();
JTable table = new JTable(tablemodel);
contentPane.add(new JScrollPane(table));

JButton btnCreateTheMovie = new JButton("Create the movie theater");
contentPane.add(btnCreateTheMovie, BorderLayout.NORTH);

快照:

enter image description here

关于java - 如何将 JTable 放入 JScrollPane 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23964120/

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