JScrollPane大小怎么设置
JLabel lb1=new JLabel("欢迎使用学生学习生活小助手");
JTabbedPane tab1=new JTabbedPane();
JButton bt2_1=new JButton("添加");
JButton bt2_2=new JButton("修改");
JButton bt2_3=new JButton("查询");
JButton bt2_4=new JButton("删除");
JButton bt3=new JButton("返回主界面");
String[] col2={"日程类型","开始时间","结束时间","内容","备注"};
String row2[][]=new String[12][5];
JTable table2=new JTable(row2,col2);
JScrollPane jsp2=new JScrollPane(table2);
String[] col3={"日程类型","开始时间","结束时间","内容","备注"};
String row3[][]=new String[12][5];
JTable table3=new JTable(row3,col3);
JScrollPane jsp3=new JScrollPane(table3);
public yezx(){
JPanel jp=(JPanel)this.getContentPane();
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp2_1=new JPanel();
JPanel jp2_1_1=new JPanel();
JPanel jp2_2=new JPanel();
JPanel jp2_2_1=new JPanel();
JPanel jp2_2_2=new JPanel();
jp1.add(lb1);
jp1.add(bt3);
jp1.setBorder(new TitledBorder(""));
GridLayout gl2=new GridLayout(5,1);
gl2.setVgap(20);
jp2_2_1.setLayout(gl2);
jp2_2_1.add(bt2_1);
jp2_2_1.add(bt2_2);
jp2_2_1.add(bt2_3);
jp2_2_1.add(bt2_4);
jp2_2_2.setLayout(new FlowLayout());
jp2_2_2.add(jsp2);
jp2_2_2.add(jsp3);
jp2_2.add(jp2_2_2);
jp2_2.add(jp2_2_1);
bt2_1.addActionListener(this);
bt2_2.addActionListener(this);
bt2_3.addActionListener(this);
bt2_4.addActionListener(this);
jp2.setLayout(new FlowLayout());
tab1.addTab("银行明细",jp2_2);
jp2.add(tab1);
jp.setLayout(new BorderLayout());
jp.add(jp1,BorderLayout.NORTH);
jp.add(jp2,BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
请问怎么调整JScrollPane的大小然后让两个表格上下摆放,谢谢了 展开
*****************************************************************
**********
**题外话**
**********
首先指出你代码的问题:
1. 没有main方法;
2. 类名小写开头;
3. 未引入包(也许是你漏了,但应该给出完整代码);
4. 大括号少一个(估计是只copy了中间一段代码);
5. 主类既然声明实现了ActionListener,就应该实现其actionPerformed方法(也许是copy漏掉了吧);
6. 主类未设置setVisible(true),导致运行后无窗口显示;
7. 其它……
*****************************************************************
********
**问题**
********
在修改以上错误之后,入正题,你提出了两个要求:
1. 调整JScrollPane的大小;
2. 让两个表格上下摆放。
*****************************************************************
***********
**解决办法**
***********
1. 使用JScrollPane的setPreferredSize方法来设置大小;
2. 将放置两个JScrollPane的JPanel(代码中的jp2_2_2)布局设置为GridLayout(2, 1)。
*****************************************************************
**********************
**具体代码(已加注释)**
**********************
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.border.TitledBorder;
public class Yezx extends JFrame implements ActionListener {
JLabel lb1 = new JLabel("欢迎使用学生学习生活小助手");
JTabbedPane tab1 = new JTabbedPane();
JButton bt2_1 = new JButton("添加");
JButton bt2_2 = new JButton("修改");
JButton bt2_3 = new JButton("查询");
JButton bt2_4 = new JButton("删除");
JButton bt3 = new JButton("返回主界面");
String[] col2 = { "日程类型", "开始时间", "结束时间", "内容", "备注" };
String row2[][] = new String[12][5];
JTable table2 = new JTable(row2, col2);
JScrollPane jsp2 = new JScrollPane(table2);
String[] col3 = { "日程类型", "开始时间", "结束时间", "内容", "备注" };
String row3[][] = new String[12][5];
JTable table3 = new JTable(row3, col3);
JScrollPane jsp3 = new JScrollPane(table3);
public Yezx() {
JPanel jp = (JPanel) this.getContentPane();
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
JPanel jp2_2 = new JPanel();
JPanel jp2_2_1 = new JPanel();
JPanel jp2_2_2 = new JPanel();
jp1.add(lb1);
jp1.add(bt3);
jp1.setBorder(new TitledBorder(""));
GridLayout gl2 = new GridLayout(5, 1);
gl2.setVgap(20);
// 设置JScrollPane的大小
jsp2.setPreferredSize(new Dimension(500, 200));
jsp3.setPreferredSize(new Dimension(500, 200));
// 设置网格布局
jp2_2_2.setLayout(new GridLayout(2, 1));
jp2_2_2.add(jsp2);
jp2_2_2.add(jsp3);
//
jp2_2_1.setLayout(gl2);
jp2_2_1.add(bt2_1);
jp2_2_1.add(bt2_2);
jp2_2_1.add(bt2_3);
jp2_2_1.add(bt2_4);
jp2_2.add(jp2_2_2);
jp2_2.add(jp2_2_1);
bt2_1.addActionListener(this);
bt2_2.addActionListener(this);
bt2_3.addActionListener(this);
bt2_4.addActionListener(this);
jp2.setLayout(new FlowLayout());
tab1.addTab("银行明细", jp2_2);
jp2.add(tab1);
jp.setLayout(new BorderLayout());
jp.add(jp1, BorderLayout.NORTH);
jp.add(jp2, BorderLayout.CENTER);
this.pack();
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
}
public static void main(String[] args) {
new Yezx();
}
}
*****************************************************************
***********
**运行结果**
***********
2024-11-19 广告