Этот класс является макетом и реализацией для первой вкладки в моей программе, CreatePanel.Я пытаюсь реализовать JScrollPane в моей JTextArea.Однако полоса прокрутки никогда не появляется, хотя программа компилируется правильно.Я искал решения и попробовал несколько вариантов, но, похоже, ничего не работает.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class CreatePanel extends JPanel
{
private Vector flightList;
private SelectPanel sPanel;
private JButton createButton;
private JLabel airName, flightNumber, departCity, departDay, departTime, arriveCity, arriveDay, arriveTime, price;
private JLabel notify, blank;
private JTextField l1, l2, l3, l4, l5, l6, l7, l8, l9;
private JTextArea flightInfo;
private JScrollPane scroll;
String air, num, dC, dD, dT, aC, aD, aT, prc;
//Constructor initializes components and organize them using certain layouts
public CreatePanel(Vector flightList, SelectPanel sPanel)
{
this.flightList = flightList;
this.sPanel = sPanel;
// organize components here
// creates all labels and textfields for Flight Creation tab
notify = new JLabel("");
blank = new JLabel("");
airName = new JLabel("Enter a name of Airlines");
flightNumber = new JLabel("Enter a flight number");
departCity = new JLabel("Enter a departure city");
departDay = new JLabel("Enter a departure day");
departTime = new JLabel("Enter a departure time");
arriveCity = new JLabel("Enter an arrival city");
arriveDay = new JLabel("Enter an arrival day");
arriveTime = new JLabel("Enter an arrival time");
price = new JLabel("Price");
l1 = new JTextField("");
l2 = new JTextField("");
l3 = new JTextField("");
l4 = new JTextField("");
l5 = new JTextField("");
l6 = new JTextField("");
l7 = new JTextField("");
l8 = new JTextField("");
l9 = new JTextField("");
createButton = new JButton("Create a flight");
createButton.addActionListener(new ButtonListener());
flightInfo = new JTextArea("No flight");
flightInfo.setEditable(false);
// the user-entered information panel
JPanel panelUser = new JPanel();
panelUser.setLayout(new GridLayout(10, 2));
panelUser.add(notify);
panelUser.add(blank);
panelUser.add(airName);
panelUser.add(l1);
panelUser.add(flightNumber);
panelUser.add(l2);
panelUser.add(departCity);
panelUser.add(l3);
panelUser.add(departDay);
panelUser.add(l4);
panelUser.add(departTime);
panelUser.add(l5);
panelUser.add(arriveCity);
panelUser.add(l6);
panelUser.add(arriveDay);
panelUser.add(l7);
panelUser.add(arriveTime);
panelUser.add(l8);
panelUser.add(price);
panelUser.add(l9);
// panel for the button
JPanel panelButton = new JPanel();
panelButton.add(createButton);
// the leftside panel of CreatePanel
JPanel panelLeft = new JPanel();
panelLeft.setLayout(new BorderLayout());
panelLeft.add(panelUser, BorderLayout.CENTER);
panelLeft.add(panelButton, BorderLayout.SOUTH);
// the rightside panel of CreatePanel
JPanel panelInfo = new JPanel();
scroll = new JScrollPane(flightInfo);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scroll.setVisible(true);
panelInfo.setLayout(new GridLayout(1, 1));
panelInfo.add(flightInfo);
// WHY WONT YOU WORK?
// layout for CreatePanel
setLayout(new GridLayout(1, 2));
add(panelLeft);
add(panelInfo);
}
}
Что я делаю не так при добавлении JScrollPane ??