Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Дублирование кода / 15 сообщений из 15, страница 1 из 1
21.10.2016, 12:11
    #39331418
Alpin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Добрый день.
Подскажите, пожалуйста, я не очень силен в java, как избежать дублирования кода:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
private void openForm1(){

form1.setPerson(form2.getPerson());
setContentPane(form1.getRootPanel());
form1.getRootPanel().revalidate();
form1.getRootPanel().repaint();

}

private void openForm2(){

form2.setPerson(form1.getPerson());
setContentPane(form2.getRootPanel2());
form2.getRootPanel2().revalidate();
form2.getRootPanel2().repaint();

}


перерыл пол-инета, найти ответ не могу
...
Рейтинг: 0 / 0
21.10.2016, 12:14
    #39331422
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
1) Для начала выкинуть revalidate() и repaint(). Они вам не нужны. Если они вам нужны, значит вы что-то уже накосячили в другом месте.
2) Перестать использовать 1 и 2 в именах идентификаторов.
3) Отделить модель от представления, чтобы разные формы использовали одну модель, а не друг-друга.
...
Рейтинг: 0 / 0
21.10.2016, 12:19
    #39331433
Alpin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Blazkowicz,
а можно с примером?
...
Рейтинг: 0 / 0
21.10.2016, 12:27
    #39331444
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
AlpinBlazkowicz,
а можно с примером?

Где ж вы все такие ленивые беретесь...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
private void openForm(Form form, Person person){
   form.setPerson(person);
   setContentPane(form.getRootPanel());
   form.getRootPanel().revalidate();
   form.getRootPanel().repaint();
}

openForm(form1, form2.gerPerson());
openForm(form2, form1.gerPerson());
...
Рейтинг: 0 / 0
21.10.2016, 12:49
    #39331463
Alpin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Blazkowicz,
Так не работает, Form не определяется как форма, первое, что я попытался сделать, это именно так и реализовать
...
Рейтинг: 0 / 0
21.10.2016, 12:54
    #39331469
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Alpin,
уберите цифры и не будет дублирования.
Форма проектируется в статике и заранее.
Они РАЗНЫЕ.
...
Рейтинг: 0 / 0
21.10.2016, 12:56
    #39331472
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Alpin,

Много форм для одной персоны или много персон в одной форме?
...
Рейтинг: 0 / 0
21.10.2016, 13:01
    #39331479
Alpin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Petro123,
2 формы, переключаются по заполнению, формы разные, персона одна
...
Рейтинг: 0 / 0
21.10.2016, 13:05
    #39331484
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Alpin2 формы, переключаются по заполнению,
несколько вкладок в одной форме? Визард?
Не могу представить что у вас такое.
...
Рейтинг: 0 / 0
21.10.2016, 13:09
    #39331489
Alpin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Petro123,
GUI FORM

Код: 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.
//первая форма
public class Form1 {
    public JPanel getRootPanel() {
        return rootPanel;
    }

    private JPanel rootPanel;
    private JTextField familyTextField;
    private JTextField firstNameTextField;
    private JLabel familyLabel;
    private JLabel firstNameLabel;
    private JTextField lastNameTextField;
    private JLabel lastNameLabel;
    private JButton clickMeButton;
}


//вторая форма
public class Form2
{
    private JPanel rootPanel2;
    private JTextField fioTextField;
    private JButton switchButton2;
    private JProgressBar progressBar1;
}


переключаются во фрейме
...
Рейтинг: 0 / 0
21.10.2016, 13:13
    #39331497
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Alpinпереключаются во фрейме
уже сказал - ВИЗАРД.
Это несколько панелей в форме. Или вкладок.
Удачи!
...
Рейтинг: 0 / 0
21.10.2016, 13:14
    #39331498
Alpin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
Petro123,
т.е не получится?
...
Рейтинг: 0 / 0
21.10.2016, 13:18
    #39331502
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
AlpinBlazkowicz,
Так не работает, Form не определяется как форма, первое, что я попытался сделать, это именно так и реализовать

Код: java
1.
2.
class Form1 implement Form { ..
class Form2 implement Form { ..



https://docs.oracle.com/javase/tutorial/java/concepts/
...
Рейтинг: 0 / 0
21.10.2016, 13:23
    #39331508
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
AlpinPetro123,
т.е не получится?
написать то всё можно. Геморроя больше.
Вам же решать. Начните с цифр))
...
Рейтинг: 0 / 0
21.10.2016, 13:54
    #39331545
Alpin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование кода
всем спасибо.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Дублирование кода / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]