JScrollPane大小怎么设置

publicclassyezxextendsJFrameimplementsActionListener{JLabellb1=newJLabel("欢迎使用学生学习生活小... 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_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的大小然后让两个表格上下摆放,谢谢了
展开
 我来答
godwin668
推荐于2017-12-16 · TA获得超过367个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:180万
展开全部

*****************************************************************

**********

**题外话**

**********

首先指出你代码的问题:

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();

 }

}

*****************************************************************

***********

**运行结果**

***********

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式