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