【问题标题】:Two ScrollPanes in Center using GridLayout使用 GridLayout 在中心的两个 ScrollPanes
【发布时间】:2017-02-17 22:47:17
【问题描述】:

我正在完成这项任务,需要完成这个任务...

我基本上需要两个 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 中,并从调度线程中获得一个单独进程的结果。我提到这一点以防万一发生任何变化。

谢谢

【问题讨论】:

  • 不应该是center.add(scrollPane1);center.add(scrollPane2);吗?

标签: java swing jscrollpane jlist


【解决方案1】:

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

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

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

【讨论】:

  • 这不是评论,这是答案 ;)
  • 没问题! @richportmade
猜你喜欢
  • 2012-11-03
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多