Я попытался добавить полосу прокрутки к моей текстовой области, но она не будет отображаться, даже если курсор в текстовой области уже превысил размер текстовой области. Я создал три разные три панели, и текстовая область была установлена первой тот, который я положил на север всей рамки. Я удалил полосу прокрутки с текстовой областью и уже добавила ее в основную рамку. Я установил вертикальную полосу прокрутки, чтобы она всегда отображалась, но она все равно не будет отображаться. Есть ли что-то, что я сделал неправильно или что-то пропало? вот мой код.
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();
}
}