Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java GUI

Войти
Регистрация
Восстановить пароль
 
 
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
#1

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

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

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

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

Наследование классов - Java SE
Здравствуйте! У меня такая задача: необходимо создать класс «Учащийся», содержащий следующую информацию: ФИО, пол, возраст. Предусмотреть...

Задание на наследование классов - Java SE
Делаю потиху задания из решебника и это на третьем пункте меня выбило немного из колеи. Создать объект класса Котёнок, используя...

Наследование от внутренних классов - Java SE
Почему нужно наследовать от внутренних классов именно так? import java.util.*; class Outer { class Inner {} } public class...

Наследование от внутренних классов - Java SE
Решил разобраться с наследованием внутренних классов. На коленке накатал небольшой тестик. public class Outer { public...

Интерфейсы наследование классов - Java SE
Нужно создать иерархию: класс C реализует интерфейс B и наследует класс D, B расширяет интерфейс A, класс D реализует A. Создать 4 функции,...

Наследование классов запрещение на родителя - Java SE
Доброе время суток, столкнулся с такой проблемой: Необходимо создать метод, допустим распечатка public class Parent{...} public...

16
korvin_
2084 / 1575 / 254
Регистрация: 28.04.2012
Сообщений: 5,670
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
Модератор
530 / 488 / 194
Регистрация: 21.10.2017
Сообщений: 1,746
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
Модератор
530 / 488 / 194
Регистрация: 21.10.2017
Сообщений: 1,746
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
Модератор
530 / 488 / 194
Регистрация: 21.10.2017
Сообщений: 1,746
18.02.2018, 16:02 #8
В текстовое поле графическую фигуру.???
Это в дельфях вроде у всех компонентов канвас есть, на котором рисовать можно.
0
ASanovS
0 / 2 / 0
Регистрация: 27.02.2017
Сообщений: 101
18.02.2018, 19:10  [ТС] #9
iSmokeJC, ну уж простите, я еще падаван А могу графикс вывести на панель?
0
iSmokeJC
Модератор
530 / 488 / 194
Регистрация: 21.10.2017
Сообщений: 1,746
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
Модератор
530 / 488 / 194
Регистрация: 21.10.2017
Сообщений: 1,746
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
Модератор
530 / 488 / 194
Регистрация: 21.10.2017
Сообщений: 1,746
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
19.02.2018, 10:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2018, 10:15
Привет! Вот еще темы с ответами:

Наследование классов и переопределение методов из JDK - Java SE
Чтобы грамотно переопределять методы нужно читать исходники или в доках есть достаточное количество информации? Если есть то можете...

Можно ли реализовать в Java наследование двух классов (не интерфейсов)? - Java SE
здравствуйте подскажите пожалуйста можно ли реализовать в джава наследование двух классов(не интерфейсов ) если да то как ищу , но не...

Реализовать абстрактные классы или интерфейсы, а также наследование и полиморфизм для классов: interface Mobil - Java SE
Реализовать абстрактные классы или интерфейсы, а также наследование и полиморфизм для классов: interface Mobile <- abstract class Siemens...

Найти количество счастливых билетов - Java SE
Здравствуйте! Такая задачка Мы вводим любое число, и программа должна посчитать количество счастливых билетов в интервале от 0 до...


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

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

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