Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2017, 09:19   #1
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 41
По умолчанию swing(JPanel) и создание собственного виджета.

Всем привет, в книге Сьерра К. Бейтс Б. на стр 394(http://imgdepo.com/id/10635548.jpg) описывается метод создания собственного виджета для рисования.
Я не пойму как его осуществить, "покажите/объясните" как надо, очень хочется понять.

Это пример с обычной кнопкой но я попробовал туда добавить JPanel и ничего не получилось.
Код:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
 
public class NewProject extends JPanel implements ActionListener {
    JButton button;
    JPanel panel;
   
    public static void main(String[] args) {
        NewProject gui = new NewProject();
        gui.go();
       
    }
    
    
    public void paintComponent(Graphics g){
        g.setColor(Color.orange);
        g.fillRect (20, 50,100,100); 
    }
    
        
        public void go(){
        JFrame frame = new JFrame();
        panel = new JPanel();
        button = new JButton("Click me");
        
        button.addActionListener(this);
        //тут должна быть аналогия button.addActionListener(this); но для -> panel. как это сделать?
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(button);
        frame.getContentPane().add(panel);
        frame.setSize(300,300);
        frame.setVisible(true);
    }
        
        
        
 
    @Override
    public void actionPerformed(ActionEvent e) {
        button.setText((2 + 2) + " " + "I've been cliced");
    }
 
   
    
}
Не пойму как можно реализовать это?
max29 вне форума Ответить с цитированием
Старый 14.05.2017, 13:18   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

А что именно должно получиться?
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 14.05.2017, 13:42   #3
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 41
По умолчанию

На "экран" фрейма должен вывестись оранжевый круг!(По идее)
max29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание собственного компонента alex_mindal Компоненты Delphi 2 29.11.2016 15:14
На создание собственного метода Pavlgd Общие вопросы Delphi 5 05.05.2016 22:10
Создание виджета ilshat09 JavaScript, Ajax 5 08.04.2015 14:41
создание собственного компонента МаксимШ Компоненты Delphi 5 08.06.2010 14:11
Создание собственного компонента Леха207 Помощь студентам 1 03.07.2007 12:45