中心使用GridLayout的两个ScrollPanes

时间:2017-02-17 22:47:18

标签: java swing jscrollpane jlist

我正在完成这项任务,需要实现这一目标......

enter image description here

我基本上需要两个ScrollPanes,每个都有一个JList。我很难并排获得两个JScrollPane,以便每个JList的滚动条都显示为必要的......第二个ScrollPane覆盖了第一个...

这是我的代码:

public Something() { 
    super("Something");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    setSize(700, 400);
    setLayout(new BorderLayout());    
    center = new JPanel();
    center.setLayout(new GridLayout(1, 2));

    String labels[] = { "A", "B", "C", "D","E", "F", "G", "H","I", "J",
    "K","L", "M", "N", "O","P", "Q", "R", "S","T", "U", "V", "W", "X", 
    "Y", "Z"};
    list1 = new JList(labels);
    list2 = new JList(labels);

    //add a JScrollPane containing JList to frame
    JScrollPane scrollPane1 = new JScrollPane();
    scrollPane1.setViewportView(list1);
    list1.setLayoutOrientation(JList.VERTICAL);
    JScrollPane scrollPane2 = new JScrollPane();
    list2.setLayoutOrientation(JList.VERTICAL);
    scrollPane2.setViewportView(list2);
    add(scrollPane1,BorderLayout.CENTER);
    add(scrollPane2,BorderLayout.CENTER);}

除了这个,我能够正确添加所有其他组件。

现在我正在为演示目的添加一个字符串数组,实际上我想使用JFileChooser添加一组文件,并在左侧ScrollPane中列出这些文件,并从调度线程获得单独进程的结果。我提到这是为了防止改变任何事情。

由于

1 个答案:

答案 0 :(得分:2)

我认为您要将scrollPane1scrollPane2添加到center ...例如

center.add(scrollpane1) 
center.add(scrollPane2)

然后将center添加到框架(this.add(center,BorderLayout.CENTER))。