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

добавление JButton

25.05.2017, 18:05. Показов 827. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть код, где двигается шар по фрейму. Когда добавляю кнопку то все меркнет и становиться ничего не видно. Как сделать, чтобы кнопка была на виду?

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
56
57
58
59
60
61
62
63
64
65
66
package com.company;
 
import com.sun.corba.se.impl.orbutil.graph.Graph;
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class MainFrame extends JFrame implements ActionListener
{
    int bx=200;
    int by=200;
    int speedx=10;
    double speedy=10;
    int bsize=20;
 
    Timer tm = new Timer(30, this);
 
    public void actionPerformed(ActionEvent arg0)
    {
        Graphics g = (Graphics)this.getGraphics();
 
        this.update(g);
        g.translate(0, 0);
        g.fillOval(bx, by, bsize, bsize);
        bx+=speedx;
        by+=speedy;
 
        if (bx < bsize-10)
        {
            speedx=-speedx;
        }
        if (bx>this.getWidth()-30)
        {
            speedx=-speedx;
        }
        if (by < 33)
        {
            speedy=-speedy;
        }
        if (by>this.getHeight()-30)
        {
            speedy=Math.random()*10;
            speedy=-speedy;
        }
    }
 
    public MainFrame()
    {
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(500, 500);
        setVisible(true);
        tm.start();
        getContentPane().setBackground(Color.yellow);
    }
 
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new MainFrame();
            }
        });
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2017, 18:05
Ответы с готовыми решениями:

Заедает JButton
реализуем регистрацию в клиент сервер подскажите плиз почему кнопку заедает? первый раз отправляет нормально потом виснет import...

JButton и компания
Добрый день, пишу онлайн рисовалку, и столкнулся с проблемой, с которой часто сталкивался и старался обойти ее какими-нибудь ужасными путям...

Расположение Jbutton
Хочу изменить расположение и размер кнопки. Если не использую методы, то кнопка создается где-то по середине окна. А при использовании...

2
164 / 170 / 139
Регистрация: 28.11.2016
Сообщений: 301
27.05.2017, 08:07
Кликните здесь для просмотра всего текста
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class MainFrame extends JFrame {
    private JButton jButton = new JButton("Button");
    private MPanel jPanel = new MPanel();
 
    Timer tm = new Timer(30, new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            repaint();
            //tm.start();
        }
    });
 
    private class MPanel extends JPanel {
        int bx = 200;
        int by = 200;
        int speedx = 10;
        double speedy = 10;
        int bsize = 20;
 
        public MPanel() {
            setPreferredSize(new Dimension(500, 450));
        }
 
        @Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.translate(0, 0);
            g.fillOval(bx, by, bsize, bsize);
            bx += speedx;
            by += speedy;
 
            if (bx < bsize - 10) {
                speedx = -speedx;
            }
            if (bx > this.getWidth() - 30) {
                speedx = -speedx;
            }
            if (by < 33) {
                speedy = -speedy;
            }
            if (by > this.getHeight() - 30) {
                speedy = Math.random() * 10;
                speedy = -speedy;
            }
        }
    }
 
    private class BListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (jPanel.by < 50) {
                jPanel.by = +50;
            }
        }
    }
 
 
    public MainFrame() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500, 500);
        setVisible(true);
        tm.start();
        jButton.addActionListener(new BListener());
        add(jButton, BorderLayout.NORTH);
        jPanel.setBackground(Color.yellow);
        add(jPanel);
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new MainFrame();
            }
        });
    }
}

Перетащил основное поле в JPanel и добавил кнопку,
когда шарик бегает только по горизонтали, кнопка
"сдергивает" его.
0
 Аватар для lamaundercover
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149
30.05.2017, 01:13
Здравствуйте!

Запустил код, по-моему, Вас все работает, багов нет.

Могу дать ссылку на реальный баг джавы: пожалуйста, зацените артефакт в меню https://www.cyberforum.ru/java... 84515.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2017, 01:13
Помогаю со студенческими работами здесь

Timer и JButton
Как сделать чтобы после нажатия кнопки таймер начал отсчет и продолжил его? Добавлено через 32 минуты часть кода ..... ...

Не работает кнопка JButton
Подскажите плз шо за фигня , пишу простой код по книжке , и при просмотре апплета кнопка(или любой другой элемент) занимает все окно , с...

JTabbedPane, JTable и JButton
Здравствуйте, совсем недавно начал играть со swing'ом, да и джавой вообще. Есть 2 вкладки, в каждой вкладке таблица. Также есть кнопка...

Listener, JButton и JTable
я хочу написать такой листинер - изменяется таблица, и кнопка становится красного цвета. public void...

Изменение прозрачности JButton
Доброго времени суток, уважаемые форумчане. У меня есть кнопка, которая меняет цвет текста, если на нее навести мышку. Проблема в том, что...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru