Ошибка cannot find symbol BorderLayout

184
08 февраля 2018, 16:40

Пытаюсь запустить пример использования KeyListener, но компилятор выдает ошибку.

import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class TestFrame extends JFrame {
    private JLabel label;
    public TestFrame() {
        super("Test frame");
        createGUI();
    }
    public void createGUI() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());
        panel.setFocusable(true);
        label = new JLabel();
        label.setFont(new Font("Calibri", Font.PLAIN, 20));
        label.setHorizontalAlignment(JLabel.CENTER);
        panel.addKeyListener(new KeyAdapter() {
            public void keyReleased(KeyEvent e) {
                label.setText(e.getKeyText(e.getKeyCode()));
            }
        });
        panel.add(label, BorderLayout.CENTER);
        setPreferredSize(new Dimension(200, 200));
        getContentPane().add(panel);
    }
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame.setDefaultLookAndFeelDecorated(true);
                TestFrame frame = new TestFrame();
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}

import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class TestFrame extends JFrame {
    private JLabel label;
    public TestFrame() {
        super("Test frame");
        createGUI();
    }
    public void createGUI() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());
        panel.setFocusable(true);
        label = new JLabel();
        label.setFont(new Font("Calibri", Font.PLAIN, 20));
        label.setHorizontalAlignment(JLabel.CENTER);
        panel.addKeyListener(new KeyAdapter() {
            public void keyReleased(KeyEvent e) {
                label.setText(e.getKeyText(e.getKeyCode()));
            }
        });
        panel.add(label, BorderLayout.CENTER);
        setPreferredSize(new Dimension(200, 200));
        getContentPane().add(panel);
    }
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame.setDefaultLookAndFeelDecorated(true);
                TestFrame frame = new TestFrame();
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}

Вот что выдает компилятор.

Answer 1

Ошибка была в том, что я не импортировал класс BorderLayout

READ ALSO
Работа с odt из java

Работа с odt из java

Есть файл odtКак в него добавить какие нибудь метки, и потом на место этих меток подставлять значения из кода? Используется ODF Toolkit

148
Выравнивание заголовка в Activity

Выравнивание заголовка в Activity

В Activity используется метод setTitle() для установки заголовкаНо заголовок устанавливается прижатый к левому краю

162
Как отключить автовоспроизведение в Selenium chromedriver?

Как отключить автовоспроизведение в Selenium chromedriver?

Использую chromedriver для тестирования, и необходимо отключить автовоспроизведение всех видеоКакие есть варианты это решить?

178
Вывод текста из textArea в JavaFX

Вывод текста из textArea в JavaFX

Пытаюсь написать метод вывода текста из одной textArea в другую (окно чата) по нажатию на кнопку Enter

353