设置2个jpanel界面root,jpanel,1个jscrollpane界面js,使得jpanel和js布局在root上
时间: 2023-12-10 08:06:10 浏览: 143
您可以使用 BorderLayout 布局管理器来实现这个需求。
首先,将 root JPanel 设置为 BorderLayout 布局管理器,然后将 jpanel 加入到 root 的 NORTH 区域,将 jscrollpane 加入到 root 的 CENTER 区域。
代码示例:
```java
JPanel root = new JPanel(new BorderLayout());
JPanel jpanel = new JPanel();
JScrollPane jscrollpane = new JScrollPane();
root.add(jpanel, BorderLayout.NORTH);
root.add(jscrollpane, BorderLayout.CENTER);
```
这样,jpanel 和 jscrollpane 就会布局在 root JPanel 上。
相关问题
JScrollPane如何设置在JPanel中的位置
可以使用setBounds()或setLocation()方法来设置JScrollPane在JPanel中的位置。
例如:
```
JScrollPane scrollPane = new JScrollPane();
JPanel panel = new JPanel();
panel.add(scrollPane);
scrollPane.setBounds(x, y, width, height);
```
其中x, y, width, height分别表示JScrollPane左上角的横坐标、纵坐标、宽度和高度。
public class StudentInfo extends JPanel { //implements ActionListener { Connection connection = new GetConnection().GetConnection(); Users users;//当前用户 int type;//用户类型 JTable table=new JTable(); String[] col ={ "学号", "姓名", "性别","专业编号","宿舍号","寝楼" ,"楼层"}; DefaultTableModel mm = new DefaultTableModel(col, 0); // 定义一个表的模板 public StudentInfo(Users users, int type){//从登录界面传回,用户名和用户类型 this.type=type; this.users=users; setLayout(new FlowLayout()); table.setModel(mm); table.setRowSorter(new TableRowSorter<>(mm));//排序 JPanel jPanel=new JPanel(new FlowLayout()); JScrollPane js=new JScrollPane(table); jPanel.add(js); add(jPanel);
这段代码是一个Java类,名为StudentInfo,它继承了JPanel类。它包含了一个连接数据库的connection对象、一个当前用户的users对象、一个用户类型的type变量、一个名为table的JTable对象、一个包含表头信息的字符串数组col、一个名为mm的表格模型对象、以及一个带有用户信息和用户类型的构造函数。
在构造函数中,它设置了当前类的type和users变量,并且设置了一个FlowLayout布局。它还创建了一个JPanel对象jPanel,并设置了它的布局为FlowLayout,然后在jPanel中添加了一个JScrollPane对象js,该对象包含了table对象。最后,它将jPanel添加到当前类的面板中。
阅读全文