Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java GUI
Войти
Регистрация
Восстановить пароль
 
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
#1

Наследование билетов (классов)

17.02.2018, 00:20. Просмотров 320. Ответов 16
Метки нет (Все метки)

Сообщение отредактировано.

Задача заключается в том чтоб создать иерархию двух классов. Первый наследуется от JPanel, второй от первого. В обоих классах должен быть переназначенный метод paint, в первом нарисованное изображение может быть любым абстрактным. В каждом классе должно быть не меньше 3-х собственных полей и под два конструктора.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2018, 00:20
Ответы с готовыми решениями:

Наследование
Добрый день, у меня возник один интересный вопрос: По условию задачи...

Заменить наследование классов на наследование интерфейсов
#include <iostream> #include <assert.h> using namespace std; int...

Наследование классов. Копирование производных классов
Здравствуйте всем, у меня такой вопрос: написал код #include "stdafx.h" ...

Наследование классов
никак не разберусь с наследованием, у нас тут в методичке дана по нему общая...

Наследование классов в С++
Наследование классов в С++ Здравствуйте, нужна помощь в написании программы,...

16
korvin_
2128 / 1619 / 315
Регистрация: 28.04.2012
Сообщений: 5,820
17.02.2018, 01:01 #2
Цитата Сообщение от ASanovS Посмотреть сообщение
создать иерархию двух классов
Звучит мощно. Прям как оркестр двух музыкантов.

Цитата Сообщение от ASanovS Посмотреть сообщение
Первый наследуется от JPanel, второй от первого. В обоих классах должен быть переназначенный метод paint, в первом нарисованное изображение может быть любым абстрактным. В каждом классе должно быть не меньше 3-х собственных полей и под два конструктора.
Окей. Вопрос-то в чём?
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
17.02.2018, 17:01  [ТС] #3
Подскажите как сделать CheckBox не активным. Идея заключается в том, чтобы при выборе одно радиобаттона он включался, а при выборе другого отключался.

Добавлено через 25 секунд
всмысле становился активным и неактивным.
0
iSmokeJC
Модератор
682 / 631 / 305
Регистрация: 21.10.2017
Сообщений: 2,110
17.02.2018, 17:17 #4
ASanovS, setEnabled(false);
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
18.02.2018, 14:39  [ТС] #5
iSmokeJC, спасибо.

Добавлено через 5 часов 46 минут
Подскажите такую вещь у менять есть комбобокс из стрингов, как мне сделать, чтоб при выборе какого либо города у меня в лейбл выводило стриг времени. т.е. я не понимаю как мне считать номер массива чтоб ему присвоить время отправления.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
String[] out = {
                "Krakov",
                "Kyiv",
                "Cherkassy",
                "Lviv",
                "Smila",
                "BilaCerkva",
 
        };
        cb1 = new JComboBox(out);
        cb1.setActionCommand("box1");
        cb1.addActionListener(this);
        cb1.setBounds(10,40,100,20);
        panel.add(cb1);
Добавлено через 50 секунд
или проще добавить к комбобоксу через адд города и потом с ними работать?

Добавлено через 15 часов 29 минут
Вот переместили мой вопрос в ГУИ а тут от силы бывает 4 человека онлайн, и все жду с моря погоды
0
iSmokeJC
Модератор
682 / 631 / 305
Регистрация: 21.10.2017
Сообщений: 2,110
18.02.2018, 14:50 #6
Цитата Сообщение от ASanovS Посмотреть сообщение
считать номер массива чтоб ему присвоить время
Какого массива? Какое время?
Тебе нужен номер выбранной позиции в комбобоксе чтоле?
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
18.02.2018, 15:45  [ТС] #7
Просто нужно было правильно в обработчик записать, только не пойму почему он мне сначала первые два значения показывал null, поэтому я и задавал вопрос.
Java
1
2
3
4
5
6
7
8
public void actionPerformed(ActionEvent e) {
        switch (e.getActionCommand()){
            
            case "test":
                ticket = new Ticket(cb1.getSelectedItem().toString(),cb2.getSelectedItem().toString(),
                        l1.getText(),l2.getText(), tf1.getText(),tf2.getText());
                ta.setText(ticket.toString());
            break;
Добавлено через 1 минуту
Ticket это класс билета с полями, он мне сначала ругался, что первые два значения object, а ему нужен был стринг.

Добавлено через 9 минут
Вопрос следующего характера, а могу ли я в текстовое поле вывести граф. фигуру из данного метода класса Ticket?
Java
1
2
3
4
public void paint (Graphics g){
        Graphics2D graphics2D = (Graphics2D) g;
        graphics2D.setColor(Color.BLACK);
        graphics2D.drawRect(10,10,100,50);
Добавлено через 1 минуту
iSmokeJC, точнее в TextArea
0
iSmokeJC
Модератор
682 / 631 / 305
Регистрация: 21.10.2017
Сообщений: 2,110
18.02.2018, 16:02 #8
В текстовое поле графическую фигуру.???
Это в дельфях вроде у всех компонентов канвас есть, на котором рисовать можно.
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
18.02.2018, 19:10  [ТС] #9
iSmokeJC, ну уж простите, я еще падаван А могу графикс вывести на панель?
0
iSmokeJC
Модератор
682 / 631 / 305
Регистрация: 21.10.2017
Сообщений: 2,110
18.02.2018, 19:22 #10
ASanovS, да я сам падаван!
Цитата Сообщение от ASanovS Посмотреть сообщение
графикс вывести на панель
Да.
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
18.02.2018, 22:54  [ТС] #11
iSmokeJC, Я вот что еще хочу сделать у менять есть комбобокс и прописанные в нем города, под комбобоксом у меня лебл находиться. Хочу сделать так чтоб при выборе города в этот лбл передавалось текстовое значение, это будет типа время отправления или время прибыти на соседнем комбобоксе.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
String[] out = {
                "Krakov",
                "Kyiv",
                "Cherkassy",
                "Lviv",
                "Smila",
                "BilaCerkva",
 
        };
        cb1 = new JComboBox(out);
        cb1.setActionCommand("box1");
        cb1.addActionListener(this);
        cb1.setBounds(10,40,100,20);
        panel.add(cb1);
а вот мой обработчик.
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
    @Override
    public void actionPerformed(ActionEvent e) {
        switch (e.getActionCommand()){
            case "test":
                ticket = new Ticket(cb1.getSelectedItem().toString(),cb2.getSelectedItem().toString(),
                        l1.getText(),l2.getText(), tf1.getText(),tf2.getText(),tf3.getText(),tf4.getText());
 
                ta.setText(ticket.toString());
            break;
            case "intersity":
                rb2.setSelected(true);
                tea.setEnabled(true);
                bed.setEnabled(true);
                internet.setEnabled(true);
            break;
            case "ticket":
                rb1.setSelected(true);
                tea.setEnabled(false);
                bed.setEnabled(false);
                internet.setEnabled(false);
                tea.setSelected(false);
                bed.setSelected(false);
                internet.setSelected(false);
            break;
        }
    }
Добавлено через 22 минуты
Я пока разобрался что могу с одним индексом работать, а если я так делаю то с другими индексами работать не получается.
Java
1
2
3
4
case "box1":
                cb1.setSelectedIndex(0);
                l1.setText("10:00");
            break;
Добавлено через 1 час 38 минут
вопрос обработчика решил таким действием
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  case "box1":
                if (cb1.getSelectedItem().equals("Krakov")){
                    l1.setText("10:00");
                }else if (cb1.getSelectedItem().equals("Kyiv")){
                    l1.setText("11:50");
                }else if (cb1.getSelectedItem().equals("Cherkassy")){
                    l1.setText("9:50");
                }else if (cb1.getSelectedItem().equals("Lviv")){
                    l1.setText("01:50");
                }else if (cb1.getSelectedItem().equals("Smila")){
                    l1.setText("14:50");
                }else if (cb1.getSelectedItem().equals("BilaCerkva")){
                    l1.setText("17:50");
                }
            break;
0
iSmokeJC
Модератор
682 / 631 / 305
Регистрация: 21.10.2017
Сообщений: 2,110
18.02.2018, 23:01 #12
Цитата Сообщение от ASanovS Посмотреть сообщение
вопрос обработчика решил таким действием
А еще один свитч, не?
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
19.02.2018, 00:33  [ТС] #13
iSmokeJC, Еще один свитч не пробовал, да и не подумал, что их может быть больше одного. Наверное из-за того, что не разобрался с кейсами комбобокса.

Добавлено через 30 минут
Подскажите падавану как мне приватные поля с метода который я экстендю сделат так чтоб они тоже возвращались как поля класса который наследует.
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
public class IntercityTicket extends Ticket {
    private String tea, bed, internet;
    public IntercityTicket(String timeOfDeparture, String arrivalTime,
                           String departurePoin, String placeOfArrival,
                           String seat, String price, String fName, String lName,
                           String tea, String bed, String internet) {
        super(timeOfDeparture, arrivalTime, departurePoin, placeOfArrival, seat, price, fName, lName);
        this.tea = tea;
        this.bed = bed;
        this.internet = internet;
    }
    public IntercityTicket(String fName, String lName, String tea, String bed,
                           String internet) {
        super(fName, lName);
        this.tea = tea;
        this.bed = bed;
        this.internet = internet;
    }
    public String getTea() {
        return tea;
    }
    public void setTea(String tea) {
        this.tea = tea;
    }
    public String getBed() {
        return bed;
    }
    public void setBed(String bed) {
        this.bed = bed;
    }
    public String getInternet() {
        return internet;
    }
    public void setInternet(String internet) {
        this.internet = internet;
    }
    @Override
    public String toString() {
        return  
                "Дополнительные услуги:\n" +tea + "\n"+bed + "\n" + internet;
    }
}
0
iSmokeJC
Модератор
682 / 631 / 305
Регистрация: 21.10.2017
Сообщений: 2,110
19.02.2018, 08:10 #14
ASanovS, сделай их protected.
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
19.02.2018, 10:15  [ТС] #15
iSmokeJC Есть у меня еще три чекбокса с доп услугами на междугородние поездки
Java
1
2
3
4
5
6
7
8
9
10
11
12
tea = new JCheckBox("Чай");
        bed = new JCheckBox("Постель");
        internet = new JCheckBox("Интернет");
        tea.setBounds(10,200,60,20);
        bed.setBounds(80,200,60,20);
        internet.setBounds(150,200,100,20);
        tea.setEnabled(false);
        bed.setEnabled(false);
        internet.setEnabled(false);
        panel.add(tea);
        panel.add(bed);
        panel.add(internet);
далее у меня вот эта кнопка выводит их даже если они не выбранны
может условие какое нужно прописать, чтоб только при установке флажка на чекбокс значение передавалось.

Цитата Сообщение от ASanovS Посмотреть сообщение
case "test": ticket = new Ticket(cb1.getSelectedItem().toString(),cb2.getSelectedItem().toString(), l1.getText(),l2.getText(), tf1.getText(),tf2.getText(),tf3.getText(),tf4.getText()); ta.setText(ticket.toString()); break;
0
iSmokeJC
Модератор
682 / 631 / 305
Регистрация: 21.10.2017
Сообщений: 2,110
19.02.2018, 17:44 #16
ASanovS, ну проверь, раз надо...
Java
1
2
JCheckBox chb1 = new JCheckBox();
if (chb1.isSelected()){...
1
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
19.02.2018, 22:38  [ТС] #17
спасибо всем за помощь. получилось вот это, как мне сказал препод. в этом есть какая-то(ключевое слово походу) логика.
https://gist.github.com/anonymous/a32a483a053b2174c87b8f54c85310bd
0
19.02.2018, 22:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2018, 22:38

наследование классов в C++
решил я с SDL поиграться.... ругается на 9 строчку компилятор, где ошибку...

Наследование классов в C++
Здравствуйте, вот у меня есть код и компилятор выводит такую ошибку: ...

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru