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 ()

Добавь JFrame на JPanel ;) Точнее кнопки на JPanel

ii8_ ★★★★ ()
Последнее исправление: ii8_ (всего исправлений: 1)
Ответ на: комментарий от ii8_

Спасибо!

Почему в Шилдте тогда нет этого в простейшем примере?

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

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

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

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

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