Передача текста JTextArea в Listener и JScrollPane в нулевом расположении - Java
Формулировка задачи:
В приложении 3 класса
1: FormStart (основной)
2:MainFormAppearance (внешний вид)
3: TestActionListener (сам слушатель)
Как передать в TestActionListener текст из JTextArea на данный момент? или вернее будет задать вопрос: как в слушателе работать с данными на панели, ведь в дальнейшем придется работать не только с кнопками и текстареями?
И почему-то при написании класса MainFormAppearance с setLayout(null):
То TextArea не появляется, если же не прикреплять JScrollPane то все прекрасно работает
Листинг программы
- package TestForm;
- import javax.swing.JFrame;
- public class FormStart {
- public static void main(String[] args) {
- JFrame.setDefaultLookAndFeelDecorated(true); // устанавливае стандартный внешний вид
- JFrame frame = new JFrame("Заголовок окна"); // желаемый заголовок
- //Далее создаём поверхность (панель) для размещения компонентов
- MainFormAppearance demo = new MainFormAppearance(); // внешность формы
- frame.setContentPane(demo.createContentPane()); // передаем как параметр в коструктор
- // задаём операцию, которая выполниться при закрытии
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setSize(400, 300); // задаём размер окна
- frame.setVisible(true); // форма будет видимой
- }
- }
Листинг программы
- package TestForm;
- import TestActions.*;
- import javax.swing.*; // импортируем SWING
- import java.awt.*; // импортируем все подпакеты AWT
- import java.awt.event.ActionListener;
- public class MainFormAppearance {
- public JPanel createContentPane (){
- // We create a bottom JPanel to place everything on.
- // сначала создаётся "панель", на которой и размещаюся
- // остальные компоненты
- JPanel totalGUI = new JPanel(); // создаём "поверхность"
- totalGUI.setLayout(new FlowLayout());
- JTextArea newText = new JTextArea(5,10);
- //newText.setLocation(10,10);
- //newText.setSize(100,200);
- newText.setWrapStyleWord(true);
- newText.setLineWrap(true);
- totalGUI.add(new JScrollPane(newText));
- // Создаём кнопку---------------
- JButton redButton = new JButton("Кнопка 1");
- //redButton.setLocation(120, 200); // расположение кнопки
- //redButton.setSize(200,50 ); // размер кнопки
- // создаём объект-обработчик события
- ActionListener actionListener = new TestActionListener(); // создаём создаём действие
- // назначаем этот обработчик кнопке
- redButton.addActionListener(actionListener);// прикрепляем действие к кнопке (срабоет по нажатии на неё)
- totalGUI.add(redButton); // добавляем кнопку на поверхность
- totalGUI.setOpaque(true);
- return totalGUI; // возвращаем внешний вид
- }
- }
Листинг программы
- package TestActions;
- import TestForm.MainFormAppearance;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- public class TestActionListener implements ActionListener { // наследуемся от стандартного класса ActionListener
- public void actionPerformed(ActionEvent e) {
- // выведем сообщение из нескольких строк
- // одну из них в кавычках
- String message = "Кнопка нажата";
- JOptionPane.showMessageDialog(new JFrame(), message, "Внимание",
- JOptionPane.ERROR_MESSAGE);
- }
- }
Листинг программы
- package TestForm;
- import TestActions.*;
- import javax.swing.*; // импортируем SWING
- import java.awt.*; // импортируем все подпакеты AWT
- import java.awt.event.ActionListener;
- public class MainFormAppearance {
- public JPanel createContentPane (){
- // We create a bottom JPanel to place everything on.
- // сначала создаётся "панель", на которой и размещаюся
- // остальные компоненты
- JPanel totalGUI = new JPanel(); // создаём "поверхность"
- totalGUI.setLayout(new FlowLayout());
- JTextArea newText = new JTextArea(5,10);
- newText.setLocation(10,10);
- newText.setSize(100,200);
- newText.setWrapStyleWord(true);
- newText.setLineWrap(true);
- totalGUI.add(new JScrollPane(newText));
- // Создаём кнопку---------------
- JButton redButton = new JButton("Кнопка 1");
- redButton.setLocation(120, 200); // расположение кнопки
- redButton.setSize(200,50 ); // размер кнопки
- // создаём объект-обработчик события
- ActionListener actionListener = new TestActionListener(); // создаём создаём действие
- // назначаем этот обработчик кнопке
- redButton.addActionListener(actionListener);// прикрепляем действие к кнопке (срабоет по нажатии на неё)
- totalGUI.add(redButton); // добавляем кнопку на поверхность
- totalGUI.setOpaque(true);
- return totalGUI; // возвращаем внешний вид
- }
- }
Решение задачи: «Передача текста JTextArea в Listener и JScrollPane в нулевом расположении»
textual
Листинг программы
- JScrollPane scrollPane = new JScrollPane(newText);
- totalGUI.add(scrollPane);
- scrollPane.setBounds(150, 100, 50, 50);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д