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