LINUX.ORG.RU

Не отображаются кнопки на форме

 ,


0

1

Всем привет! Возник вопрос, почему в таком коде у меня не отображаются кнопки?

import javax.swing.*;
import java.awt.*;

public class MainWindow extends JFrame
{
    private JButton buttonOne;
    private JButton buttonTwo;

    MainWindow()
    {
        super("Main Window");

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 200);

        setLocationRelativeTo(null);

        setLayout(new FlowLayout());

        buttonOne  = new JButton("Первая кнопка");
        buttonTwo  = new JButton("Вторая кнопка");

        buttonOne.setBackground(Color.CYAN);

        add(buttonOne);
        add(buttonTwo);

        setVisible(true);

    }
}

Само окно создается, но на него ничего не наносится. Почему так?Заранее спасибо!


Ответ на: комментарий от vertexua

Я не понимаю, почему не отображается, ведь даже в примере Шилдта

Class SwingDemo
{
SwingDemo()
{
JFrame jfrm = new JFrame("SwingApp");
jfrm.setSize(100,100);
JLabel jl = new JLabel("Hello");
jfrm.add(jl);
jfrm.setVisible(true);
}

aarexer
() автор топика
Ответ на: комментарий от aarexer

Не помню).JFrame - это окно, в него нужно поместить какойлибо контейнер типа JPanel а уж потом кнопки. Перечитай внимательнее, что там в книге. Кстати, по ссылке из первого комента это видно. Ещё обрати внимание на иерархию классов - http://www.holub.com/goodies/images/swing_component_hierarchy.gif

ii8_ ★★★★
()
Ответ на: комментарий от ii8_

Да, спасибо, я разобрался! Но кстати, нет, можно и так делать, можно просто добавлять в JFrame. Проблема была в том, что почему-то не срабатывал [code[jfrm.setVisible(true); Я перезапустил проект и все стало отображаться. Но да, сначала лучше контейнеры добавлять. Спасибо еще раз!

aarexer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.