Почему кнопка на весь экран?
Почему кнопка на весь экран?
Код который я использую
import javax.swing.*; //импорт методов из пакета
import java.awt.*; //импорт методов из пакета
public class Test_2 extends JFrame { // создаём класс и наследуем его от JFrame
JButton button = new JButton("Button"); //создаём кнопку
Test_2() { //делаем конструктор
super("Games Catalog"); // название программы
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // набор дефолтных прав для вычесления размера экрана
setSize(dim.width, dim.height); //установка размера JFrame
setDefaultCloseOperation(EXIT_ON_CLOSE); // что бы программа закрывалась
setExtendedState(JFrame.MAXIMIZED_BOTH); // что бы программа сразу разварачивалась во весь экран
button.setBackground(new Color(255, 255, 255, 50)); // что бы кнопка была такого цвета и на 50% прозрачная
button.setBounds(dim.width / 2,dim.height / 8,dim.width / 8, dim.height/16); // положение и размер кнопки
Container container = this.getContentPane(); // контейнер (точно не понимаю зачем он наверное что бы элементы в нём были видимыми)
container.add(button); //добавление в контейнер кнопки (по идее что бы она была видимая)
JPanel panel = new JPanel(); // в душе не чаю зачем
panel.setLayout(null); // что бы layouts были с значением null (типа выключаем horizontal vertical layout)
setVisible(true); // что бы программа была видимая (точно не знаю)
}
public static void main(String[] args) { // главный метод для запуска программы
Test_2 run = new Test_2(); // этот код отвечает за то что бы программа запустилась
run.setVisible(true); // этот код отвечает за то что бы программа запустилась
}
}
Пожалуйста это немного не по теме вопроса но в комментариях прокомментируйте правильно ли я понимаю за что отвечает каждая строка кода
Ответы (1 шт):
Автор решения: igo
→ Ссылка
Попробуйте добавлять кнопку на панель, а панель в контейнер
Test_2() { //делаем конструктор
super("Games Catalog"); // название программы
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // набор дефолтных прав для вычесления размера экрана
setSize(dim.width, dim.height); //установка размера JFrame
setDefaultCloseOperation(EXIT_ON_CLOSE); // что бы программа закрывалась
setExtendedState(JFrame.MAXIMIZED_BOTH); // что бы программа сразу разварачивалась во весь экран
button.setBackground(new Color(255, 255, 255, 50)); // что бы кнопка была такого цвета и на 50% прозрачная
button.setBounds(dim.width / 2,dim.height / 8,dim.width / 8, dim.height/16); // положение и размер кнопки
Container container = this.getContentPane(); // контейнер (точно не понимаю зачем он наверное что бы элементы в нём были видимыми)
// container.add(button); //добавление в контейнер кнопки (по идее что бы она была видимая)
JPanel panel = new JPanel(); // в душе не чаю зачем
panel.add(button);
panel.setLayout(null); // что бы layouts были с значением null (типа выключаем horizontal vertical layout)
container.add(panel);
setVisible(true); // что бы программа была видимая (точно не знаю)
}