При добавлении прокрутки к текстовому полю это поле исчезает - Java
Формулировка задачи:
Проблема в том, что когда добавляю прокрутку к текстовому полю, то оно (поле) вообще пропадает. В чем может быть проблема?
tArea= new JTextArea();
tArea.setBounds(10, 60, 320, 220);
tArea.setBackground(Color.GRAY);
c.add(tArea);
scroll = new JScrollPane(tArea);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);Решение задачи: «При добавлении прокрутки к текстовому полю это поле исчезает»
textual
Листинг программы
package laba4;
import java.awt.*;
import javax.swing.*;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
public class Laba4 {
public static void main(String[] args) {
{
MainFrame frame = new MainFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("hello");
frame.setVisible(true);
}
}
}
class MainFrame extends JFrame {
private JLabel tfFunc;
private JTextArea tArea;
private JTextField tfBorderA, tfBorderB, tfStep;
private static JScrollPane scroll;
private static final int DEFAULT_WIDTH = 650;
private static final int DEFAULT_HEIGHT = 350;
private static double borA = 0, borB = 0, dx = 0;
private static final double a = 2;
private static int step = 0;
private static double[][] mass = new double[1000][1000];
public MainFrame() {
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setLocationByPlatform(true);
Container c = getContentPane();
c.setLayout(null);
JButton massButton = new JButton("Создать массив");
massButton.setBounds(350, 120, 270, 30);
c.add(massButton);
massButton.addActionListener(e -> {
for (double i = borA; i < borB; i = i + dx)
step++;
mass = massCreate(borA, borB, dx, step, a);
for (int i = 0; i < step; i++) {
tArea.setText(mass[i][1] + "\n" + tArea.getText());
}
});
tfFunc = new JLabel("Функция: y=a-в€љx * cos(ax)");
tfFunc.setBounds(350, 60, 270, 30);
c.add(tfFunc);
JLabel aaa = new JLabel("a = 2");
aaa.setBounds(350, 85, 270, 30);
aaa.setHorizontalAlignment(JLabel.LEFT);
c.add(aaa);
JLabel btnBorderA = new JLabel("Граница А");
btnBorderA.setBounds(10, 10, 100, 25);
btnBorderA.setHorizontalAlignment(JLabel.CENTER);
c.add(btnBorderA);
tfBorderA = new JTextField("0");
tfBorderA.setBounds(100, 10, 30, 25);
c.add(tfBorderA);
JLabel btnBorderB = new JLabel("Граница B");
btnBorderB.setBounds(160, 10, 100, 25);
btnBorderB.setHorizontalAlignment(JLabel.CENTER);
c.add(btnBorderB);
tfBorderB = new JTextField();
tfBorderB.setBounds(250, 10, 30, 25);
c.add(tfBorderB);
JLabel btnStep = new JLabel("Шаг");
btnStep.setBounds(310, 10, 100, 25);
btnStep.setHorizontalAlignment(JLabel.CENTER);
c.add(btnStep);
tfStep = new JTextField();
tfStep.setBounds(380, 10, 50, 25);
c.add(tfStep);
tArea= new JTextArea();
tArea.setBounds(10, 60, 320, 220);
tArea.setBackground(Color.GRAY);
c.add(tArea);
//scroll = new JScrollPane(tArea);
//scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JButton btnAll = new JButton("Задать");
btnAll.setBounds(480, 10, 100, 25);
c.add(btnAll);
btnAll.addActionListener(e -> {
borA = Double.parseDouble(tfBorderA.getText());
borB = Double.parseDouble(tfBorderB.getText());
dx = Double.parseDouble(tfStep.getText());
});
}
public static double[][] massCreate(double x1, double x2, double dx, double k, double a) {
double x = x1;
for (int i = 0; i < k; i++) {
double y;
y = a-(Math.sqrt(x)*Math.cos(a*x));
mass[i][0] = x;
mass[i][1] = y;
x = x + dx;
}
return mass;
}
}