Swing setLayout Bug - PullRequest
       21

Swing setLayout Bug

0 голосов
/ 22 января 2020

Я пытаюсь создать простую программу свинга, которая использует BorderLayout в Eclipse IDE. Я считаю, что я правильно использую метод setLayout, но данная ошибка обнаруживается, и я понятия не имею, как я могу это исправить. Может кто-нибудь помочь мне, как я могу исправить эту ошибку? данная ошибка

Метод setLayout (LayoutManager) в типе Container не применим для аргументов (BorderLayout)

Я провел некоторые исследования, но не повезло решая это. вот код, который я использую.

import java.awt.LayoutManager;

import javax.swing.JButton;
import javax.swing.JFrame;

public class BorderLayout extends JFrame {

    JButton btn1 = new JButton("1");
    JButton btn2 = new JButton("2");
    JButton btn3 = new JButton("3");
    JButton btn4 = new JButton("4");
    JButton btn5 = new JButton("5");
    JButton btn6 = new JButton("6");

    public void initialize() {
        setTitle("BorderLayout Demo");
        setSize(500, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }

    public BorderLayout() {
        getContentPane().setLayout(new BorderLayout());

        initialize();
    }

    public static void main(String[] args) {
        new BorderLayout();
    }

}

here is a view of the bug on my desktop since i can't show image here

Ответы [ 2 ]

4 голосов
/ 22 января 2020

Вы следите за java.awt.BorderLayout своим собственным классом.

Либо квалифицируйтесь BorderLayout в своем вызове

getContentPane().setLayout(new java.awt.BorderLayout());

Или, лучше, измените имя вашего класса на что-то, что не двусмысленно.

2 голосов
/ 22 января 2020

Вы передаете экземпляр своего собственного BorderLayout класса вместо java.awt.BorderLayout. Назвать класс - это, наверное, плохая идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...