При добавлении прокрутки к текстовому полю это поле исчезает - 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д