Как правильно добавить полосу прокрутки в текстовую область? - PullRequest
0 голосов
/ 04 мая 2020

Я попытался добавить полосу прокрутки к моей текстовой области, но она не будет отображаться, даже если курсор в текстовой области уже превысил размер текстовой области. Я создал три разные три панели, и текстовая область была установлена ​​первой тот, который я положил на север всей рамки. Я удалил полосу прокрутки с текстовой областью и уже добавила ее в основную рамку. Я установил вертикальную полосу прокрутки, чтобы она всегда отображалась, но она все равно не будет отображаться. Есть ли что-то, что я сделал неправильно или что-то пропало? вот мой код.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ListOfRecords extends WindowAdapter implements ActionListener
{
    //Container
    private JFrame f;
    private JPanel p1,p2,p3,p4,pCombine;
    //Components
    private JLabel lblSort;
    private JTextArea taMain;
    private JRadioButton bAddRec,bRemoveRec,bExport;
    private JCheckBox cbAscend, cbDesc;
    private JComboBox<String>  sortOptions;
    private String[] sortOpt = { "Name", "Birthday", "Age"};
    private JScrollPane scTextArea;

    public ListOfRecords()
    {
        f = new JFrame("List of Records");

        p1 = new JPanel();
        p2 = new JPanel();
        p3 = new JPanel();
        p4 = new JPanel();
        pCombine = new JPanel();

        lblSort = new JLabel("Sort by: ");

        taMain = new JTextArea("",10,20);

        cbAscend = new JCheckBox("Ascending");
        cbDesc = new JCheckBox("Descending");

        sortOptions = new JComboBox<String>(sortOpt);

        bAddRec = new JRadioButton("Add a Record");
        bRemoveRec = new JRadioButton("Remove a Record");
        bExport = new JRadioButton("Export to CSV File");

        scTextArea = new JScrollPane(taMain,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    }

    public void actionPerformed(ActionEvent ae)
    {

    }

    public void windowClosing(WindowEvent we)
    {
        System.exit(0);
    }


    //Assembles GUI containers and components
    public void assembleGUI()
    {
        //First JPanel
        //taMain.setEditable(false);
        p1.setLayout(new GridLayout(1,1));
        p1.add(taMain);
        p1.setPreferredSize(new Dimension(200,200));
        //Second JPanel
        p2.add(lblSort);
        p2.add(sortOptions);
        //third JPanels
        p3.setLayout(new GridLayout(0,1));
        p3.add(cbAscend);
        p3.add(cbDesc);
        //combine second and third JPanel
        pCombine.add(p2);
        pCombine.add(p3);
        //bottom JPanel
        p4.add(bAddRec);
        p4.add(bRemoveRec);
        p4.add(bExport);
        //addToJFrame
        f.add(p1,BorderLayout.NORTH);
        f.add(scTextArea);
        f.add(pCombine,BorderLayout.CENTER);
        f.add(p4,BorderLayout.SOUTH);
        f.pack();
        f.addWindowListener(this);
        f.setVisible(true);
    }

    public static void main(String args[])
    {
        ListOfRecords GUI = new ListOfRecords();
        GUI.assembleGUI();
    }

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...