簡體   English   中英

如何在jframe java swing中調整jscrollpane的大小?

[英]How to resize jscrollpane in jframe java swing?

我是java swing的新手,目前我正在使用java swing開發應用程序,我面臨的問題是,當我用JScrollPane填充JList時,它將顯示在整個jframe上。 碼:

List<Element> parentElements = xmlUtil.getParentElements();
        String title = "License";
        JFrame f = new JFrame(title);



        String[] parentTags = new String[parentElements.size()];
        for(int i=0;i<parentElements.size();i++)
        {
            System.out.println(parentElements.get(i).getName());
            parentTags[i] = parentElements.get(i).getName();
        }

        JList list = new JList(parentTags);
        JScrollPane scrollPane = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        scrollPane.setPreferredSize(new Dimension(50,40)); 
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container contentPane = f.getContentPane();

        contentPane.add(scrollPane);

        f.setSize(900, 700);
        f.setVisible(true);

輸出: jscrollpaneoutput

我想要這樣的輸出,以便它可以覆蓋jframe中的小區域 在此處輸入圖片說明

請告訴我如何調整大小? 因為我從很長時間以來一直陷入這個問題。

JScrollPane添加到JPanel ,然后將JPanel添加到JFrame

    JScrollPane scrollPane = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container contentPane = f.getContentPane();

    JPanel panel = new JPanel();
    panel.add(scrollPane);
    panel.setPreferredSize(new Dimension(50,40));
    contentPane.add(panel);

然后,您可以使用JPanelsetPreferredSize方法來調整其大小。

還可以考慮使用一個好的布局管理器。 我使用兩種(主要)的組合:

  1. Netbeans的所見即所得拖放式編輯器(Matisse)
  2. MigLayout-輕松獲得最佳的手寫布局。 需要一定的學習曲線(但比其他學習要少)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM