Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34

Не видно элементов интерфейса на фрейме

28.05.2015, 20:51. Показов 1183. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По нажатию на кнопку должно создаваться окно (Вы действительно хотите закрыть?...") с 2 кнопками и надписью.
Кнопки создал, пытался разместить на окне - но их там просто не видно.
Помогите понять, в чём причина.
(переменные WIDTH и HEIGHT вычисляют ширину и высоту экрана соответственно)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            JFrame rusure = new JFrame("Тест");
            rusure.setSize(WIDTH/6, HEIGHT/8);
            //rusure.setSize(WIDTH, HEIGHT);
            //rusure.setUndecorated(true);
            rusure.setLayout(null);
            rusure.setVisible(true);
            rusure.getContentPane().setBackground(Color.BLACK);
            rusure.setLocationRelativeTo(null);
            rusure.setResizable(false);
            
            JButton yes = new JButton("Да");
            JButton no = new JButton("Нет");
            
            yes.setBounds(0, 0, 100, 100);
            
            mainFrame.add(rusure);
            rusure.add(yes);
            rusure.add(no);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2015, 20:51
Ответы с готовыми решениями:

Не видно Интерфейса
Я создал роль Администратор ей присвоил все права доступа. Далее создал интерфейс Админ. Но когда создаю нового пользователя и хочу выбрать...

Можно ли из страницы в одном фрейме обратиться к элементу на странице в другом фрейме?
Имеется фреймсет с двумя фреймами. Можно ли из страницы в одном фрейме обратиться к элементу страницы в другом фрейме? Если можно -...

как по нажатию кнопки div во фрейме ссылались на другую страницу во фрейме
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <meta charset="UTF-8"> <title>meduli</title> ...

15
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
29.05.2015, 00:36
Зачем велосипедить?
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34
29.05.2015, 08:26  [ТС]
Потому что этот вариант не подходит. Логично?
0
 Аватар для Subik
170 / 45 / 5
Регистрация: 10.01.2013
Сообщений: 424
29.05.2015, 10:09
Hexayon, Весь код покажите
1
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34
29.05.2015, 12:01  [ТС]
Это и есть весь код, который находится внутри кнопки.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
29.05.2015, 12:03
setVisible самым последним надо бы поставить, это если не обсуждать сам код
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34
29.05.2015, 13:07  [ТС]
Спасибо за совет.


К слову, проблема решилась, когда я создал окно в отдельном методе.

Добавлено через 37 минут
Я ошибался
Сделал вот так вот:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public static void Main() {
    
        //SCREEN
        Toolkit kit = Toolkit.getDefaultToolkit();
        Dimension screensize = kit.getScreenSize();
        int HEIGHT = screensize.height;
        int WIDTH = screensize.width;
        
    JDialog rusure = new JDialog();
    JPanel test = new JPanel();
    rusure.setSize(WIDTH/6, HEIGHT/8);
    //rusure.setSize(WIDTH, HEIGHT);
    //rusure.setUndecorated(true);
    //rusure.setModal(true);
    rusure.setLayout(null);
    rusure.getContentPane().setBackground(Color.BLACK);
    rusure.setLocationRelativeTo(null);
    rusure.setResizable(false);
    rusure.setVisible(true);
    
    //Buttons
    JButton yes = new JButton("Да");
    JButton no = new JButton("Нет");
    
    Border BBorder = new LineBorder(Color.WHITE, 1);
    Font font2 = new Font("Verdana", Font.PLAIN, (WIDTH+HEIGHT)/150);
    
    yes.setFont(font2);
    no.setFont(font2);
    
    yes.setFocusPainted(false);
    no.setFocusPainted(false);
    
    yes.setBorder(BBorder);
    no.setBorder(BBorder);
    
    yes.setForeground(Color.WHITE);
    no.setForeground(Color.WHITE);
    
    yes.setBackground(Color.BLACK);
    no.setBackground(Color.BLACK);
    
    yes.setBounds(5, 70, 100, 30);
    no.setBounds(210, 70, 100, 30);
    
    //LABEL
    JLabel jtext = new JLabel("Вы уверены, что хотите выйти из игры?");
    
    rusure.add(jtext);
    rusure.add(yes);
    rusure.add(no);
    //ТУТ ДОЛЖНО ВЫСКАКИВАТЬ ОКОШКО "ВЫ УВЕРЕНЫ?"
    
 
    }
Если ставлю .setModal(true) - тогда интерфейс становится невидимым; Если не делаю его модальным - тогда всё видно, но оно теряет свой смысл =\
0
 Аватар для Subik
170 / 45 / 5
Регистрация: 10.01.2013
Сообщений: 424
29.05.2015, 18:51
Hexayon, думаю дальше сами разберетесь
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public static void main(String[] args) {
 
        JFrame frame = new JFrame("Main window");
        JButton button = new JButton("Button");
 
        final JFrame closeFrame = new JFrame("Close?");
        JButton yes = new JButton("Yes");
        closeFrame.setLayout(new GridBagLayout());
        closeFrame.setSize(200, 200);
        closeFrame.add(yes);
 
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setSize(500, 500);
        frame.setLayout(new GridBagLayout());
 
        frame.add(button);
 
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                closeFrame.setVisible(true);
            }
        });
 
 
 
        frame.setVisible(true);
    }
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34
29.05.2015, 22:28  [ТС]
При всём этом я могу и дальше нажимать на кнопку "Button", а это ошибка. Мне нужно именно модальное окно.
0
 Аватар для Subik
170 / 45 / 5
Регистрация: 10.01.2013
Сообщений: 424
30.05.2015, 06:33
Цитата Сообщение от Hexayon Посмотреть сообщение
я могу и дальше нажимать на кнопку "Button"
Ну так сделайте ее неактивной, в чем проблема то?
Java
1
2
3
4
5
6
7
button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                closeFrame.setVisible(true);
                button.setEnabled(false);
            }
        });
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34
30.05.2015, 08:25  [ТС]
В том, что окно должно быть модальным, и я не должен иметь доступ к интерфейсу, расположенному на окне frame.
0
 Аватар для Subik
170 / 45 / 5
Регистрация: 10.01.2013
Сообщений: 424
30.05.2015, 09:42
Цитата Сообщение от Hexayon Посмотреть сообщение
окно должно быть модальным
Тогда вот вам how to
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34
31.05.2015, 19:11  [ТС]
Не нашел выяснения моей проблемы.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
31.05.2015, 19:14
по настоящему модальные только диалоги, а не JFrame
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
31.05.2015, 19:18
а где и как искал?
Создай класс, наследующий от JDialog, в его конструкторе обязательно сначала вызываешь конструктор супер-класса, а потом какие угодно кнопки и прочее туда суй -пока это окно не закрыть -главное остается неактивным, то есть получаешь модальное окно.
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 34
31.05.2015, 21:26  [ТС]
С этим проблем нет. Проблема кроется в названии топика.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2015, 21:26
Помогаю со студенческими работами здесь

Как создать якорь во фрейме, и использовать его в другом фрейме
Такая ситуация, у меня два фрейма, слева у меня Содержание, справа Текст Так вот все заголовки я отметил, в соответствии с содеражнием. И...

Как узнать URL доумента в фрейме, который в другом фрейме?
Если загрузить в WebBrowser страничку с фреймами, то узнать URL документов, загрженных в них можно обращаясь к каждому фрейму через его...

Прорисовка элементов на фрейме
Здравствуйте! Пытаюсь написать руками интерфейс с помощью AWT. Только при компиляции рисуется один элемент на все окно. Пытался задать его...

Выравнивание элементов в фрейме
Я уже устал просто бороться с этим выравниванием! Скажите мне, раз и навсегда: что именно должно довергаться выравниванию - объекты внутри...

Нестабильное отображение элементов на фрейме
Добдень, Такой баг(картинку прикрепил): Создал фрейм, добавил прогресбар, запускаю - фрейм пустой, потянул за него (изменил размер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru