将滚动条/滚动窗格添加到具有多个jpanel的jframe

时间:2012-03-24 13:22:58

标签: swing scroll jframe

我创建了jframe,其中动态添加了jpanel 我不能做的是向下滚动到所有创建的面板。 请建议我如何使用滚动条/滚动条向下滚动多个面板。

这是我的代码

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.border.Border;
import sun.swing.FilePane;

public class Test extends JFrame
{
public Test() 
{
 getContentPane().setLayout(new FlowLayout());
 addWindowListener(new java.awt.event.WindowAdapter()
    {
      public void windowClosing(java.awt.event.WindowEvent evt)
      {
       System.exit(0);
      }
    });

    for(double i=10000000;i<90000000;i++)
    {
        if(i%10000000==0)
        {
          getContentPane().add(new z());
          validate();
        }
    }

    setSize(1024,1024);
    setVisible(true);
  }

  public static void main(String args[])
  {
   new Test();
  }
 }

在上面的代码中,z是扩展jpanel的类,它有3个标签和2个按钮 请告诉我如何向下滚动这些面板 或者我如何查看所有面板?

1 个答案:

答案 0 :(得分:4)

建议

  • 阅读Java Swing教程中的JScrollPane tutorial
  • 创建一个使用有用布局的JPanel,比如GridLayout。
  • 创建一个包含上述JPanel的JScrollPane
  • 将JScrollPane添加到BorderLayout.CENTER位置的JFrame的contentPane(不要让contentPane使用FlowLayout)。
  • 将新的JPanel添加到此建议第一行中描述的容器JPanel中。
  • 每当添加或删除组件时,
  • revalidate()repaint()容器JPanel。