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

Как сделать чтобы в 1 элемент ArrayList считывалось несколько слов

13.02.2014, 01:00. Показов 2254. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Вот к примеру у меня в файле написано: "Вася Пупкин Николай Мостовой Винсент Каллисто" и мне надо их вывести в JList, чтобы одна строка соответствовала человеку с фамилией. Для этого нужно считывать в каждый элемент массива по 2 слова. Помогите пожалуйста, скажите, как это можно осуществить?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2014, 01:00
Ответы с готовыми решениями:

Как ограничить Basket по ширине формы? Я тут хочу сделать по крайнему эллипсу чтобы считывалось
procedure TForm1.Basket(Sender: TObject); begin a:=205; b:=285; with Form1.Canvas do begin Pen.Color:=clBlack; ...

Сделать чтобы значение считывалось и считалось по формуле
Помогите пожалуйста. Есть edit, в который вводится числовое значение,нужно сделать чтобы это значение считывалось и считалось по формуле:...

Сделать так, чтобы максимальный элемент массива был удален, а если их несколько, то все
Нужно сделать так, чтобы максимальный элемент массива был удален, а если их несколько, то все. Затем сформировать уже новый массив, без...

39
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 00:42
Студворк — интернет-сервис помощи студентам
А скиньте ка весь код сюда, куда вы там что передаете. Вектор определен локальным
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 00:48  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
А скиньте ка весь код сюда, куда вы там что передаете. Вектор определен локальным
Возможно.
я просто создаю JList j1;
класс с вектором m = класс с вектором();
j1 = new JList(m.v)
как тогда правильно можно это сделать?

Добавлено через 4 минуты
Я сделал его не локальным, и ошибка пропала, но ничего не выводится.
Вот на всякий случай весь код(почти):
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
public class chief {
    static int row;
    static String[] M = new String[5];
    static ArrayList<String> catnamesList = new ArrayList<String>();
    static Scanner scn;
    static FileWriter f;
    static String [] mas = {};
    static Vector<String> v;
    public static void main(String[] args) throws Exception {
        openFile();
        out();
        filewrite();
 
    }
 
    private static void filewrite() throws Exception {
        try {
            f = new FileWriter("res//final.txt", true);
 
        } catch (Exception i) {
            JOptionPane.showMessageDialog(null,
                    "Файл не найден или другая ошибка");
        }
    }
 
    static String catname;
 
    private static void out() {
        for (String tmp : catnamesList) {
            System.out.print(tmp + " ");
        }
    }
 
    private Vector<String> getListData(){
        String str="";
        while(scn.hasNext()){
        str = scn.nextLine();
        } scn.close();
        v = new Vector<String>();
        String [] arr = str.split(" ");
 
        for(int i = 0; i < arr.length; i+=2){
            v.add(arr[i] + " " + arr[i+1]);
        }
 
        return v;
    
        
    }
 
    private static void openFile() {
        try {
            scn = new Scanner(new File("res//final.txt"));
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,
                    "Файл не найден или другая ошибка");
        }
 
    }
 
}
Класс в котором я считываю, в который я передаю, я всё необходимое написал.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 00:48
Класс с JListom дайте
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 00:53  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Класс с JListom дайте
Вот: (я слушатели убрал)
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
public class Secondary {
    JFrame f1, f2, f3, f4;
    JLabel l1, l2;
    JButton b1, b2, b3, b4, b5, b6, b7, b8, b9, b10;
    JTextField t1, t2, t3;
    JComboBox cb1, cb2;
    JList list;
    chief m = new chief(); //ссылка на главный класс
    DefaultComboBoxModel<String> m1 = new DefaultComboBoxModel<String>(new String[] { "1", "2", "3" });
    DefaultComboBoxModel<String> m2 = new DefaultComboBoxModel<String>(new String[] { "4", "5", "6" });
    DefaultComboBoxModel<String> m3 = new DefaultComboBoxModel<String>(new String[] { "7", "8", "9" });
 
    wind fire = new wind();
    earth great = new earth();
     MyWindowAdapter windAdpter = new MyWindowAdapter();
 
    public Secondary() {
        
        
        f1 = new JFrame("«Conductor’s Assistant»");
        f2 = new JFrame("«Conductor’s Assistant»");
        f3 = new JFrame("«Conductor’s Assistant»");
        f4 = new JFrame("«Conductor’s Assistant»");
        b1 = new JButton("Базы");
        b2 = new JButton("Ведение учёта заказов");
        b3 = new JButton("Настройки");
        b4 = new JButton("Выход");
        b5 = new JButton("Добавить пассажира");
        b6 = new JButton("Добавить");
        b7 = new JButton("Управление базами");
        b8 = new JButton("Назад");
        b9 = new JButton("Назад");
        b10 = new JButton("Назад");
        t1 = new JTextField("№ Места");
        list = new JList(m.v); //JList
        cb1 = new JComboBox(m.mas);
        cb1.setEditable(true);
        cb2 = new JComboBox(m1);
        cb2.setEditable(true);
        f1.add(b1);
        f1.add(b2);
        f1.add(b3);
        f1.add(b4);
        f2.add(b7);
        f2.add(b5);
        f2.add(b9);
        f3.add(t1);
        f3.add(cb1);
        f3.add(cb2);
        f3.add(b6);
        f3.add(b8);
        f4.add(list);
        f4.add(b10);
        b1.addActionListener(fire);
        b4.addActionListener(fire);
        b5.addActionListener(fire);
        b6.addActionListener(fire);
        b7.addActionListener(fire);
        b8.addActionListener(fire);
        b9.addActionListener(fire);
        b10.addActionListener(fire);
        cb1.addItemListener(great);
        cb2.addItemListener(great);
        cb1.addActionListener(fire);
        f1.addWindowListener(windAdpter);
        f2.addWindowListener(windAdpter);
        f3.addWindowListener(windAdpter);
 
    }
}
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:05
Лучший ответ Сообщение было отмечено Black_White как решение

Решение

private Vector<String> getListData() измените на public static Vector<String> getListData(), потом

list = new JList(m.v); измените на list = new JList(m.getListData());

Добавлено через 8 минут
Честно, я вам советую полностью переписать код, с таким проектированием далеко не уйдете. Вы наверное не очень хорошо Java и Swing знаете, да и ООП, книгу бы вам
Вот зачем вы создаете 4 разных окна, в которых будут по несколько кнопок. Мне кажется у вас даже графика не запускается?
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:07  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
private Vector<String> getListData() измените на public static Vector<String> getListData(), потом

list = new JList(m.v); измените на list = new JList(m.getListData());
Спасибо вам большое и вообще всем) Получилось. Правда прописую list.setVisibleRowCount(10);, а показывает всё равно, только 2.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:08
Повезло вам) но код я бы переписал)
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:08  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
private Vector<String> getListData() измените на public static Vector<String> getListData(), потом

list = new JList(m.v); измените на list = new JList(m.getListData());

Добавлено через 8 минут
Честно, я вам советую полностью переписать код, с таким проектированием далеко не уйдете. Вы наверное не очень хорошо Java и Swing знаете, да и ООП, книгу бы вам
Вот зачем вы создаете 4 разных окна, в которых будут по несколько кнопок. Мне кажется у вас даже графика не запускается?
Вы не первый кто мне это советует) Я из-за этого проекта специально Java начал учить в кратчайшие сроки, а так сами понимаете сильно не выучишь.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:10
Ну тогда по крайней мере не писать кучу кода самому, а потом спрашивать тут. Написали отдельный класс, кинули сюда, спросили что не так, что улучшить. Потому что, видите, проблема совсем не в том что вы спрашивали
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:11  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Повезло вам) но код я бы переписал)
А не подскажите пожалуйста напоследок как сделать чтобы больше 2-х элементов показывало? Прописую ведь правильно.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:11
Дайте проект в архиве сюда
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:15  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Ну тогда по крайней мере не писать кучу кода самому, а потом спрашивать тут. Написали отдельный класс, кинули сюда, спросили что не так, что улучшить. Потому что, видите, проблема совсем не в том что вы спрашивали
Понимаете, если я так кину, то потом его не буду понимать. А мне нужно полное понятие кода. Этот код я написал, для других он каша, но я в нём ориентируюсь.

Добавлено через 2 минуты
вот
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:16
Цитата Сообщение от Black_White Посмотреть сообщение
для других он каша, но я в нём ориентируюсь
А правильно писать программы, это писать так, что бы другие понимали. Если вы собираетесь с этим работать, то это обязательное условие и читать вам уйму. Если для себя, то начали бы правильно, потратили бы время на прочитку немного, вопросов бы тут не было, у вас как минимум нарушены принципы ООП
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:19  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
А правильно писать программы, это писать так, что бы другие понимали. Если вы собираетесь с этим работать, то это обязательное условие и читать вам уйму. Если для себя, то начали бы правильно, потратили бы время на прочитку немного, вопросов бы тут не было, у вас как минимум нарушены принципы ООП
Я это всё прекрасно понимаю и собираюсь заняться этим после завершения проекта. Я бы с удовольствием читал литературу, но проект нужно сделать в скорый срок. И мне нужно очень сильно торопится.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:20
Скажите куда должны выводится имена, где в интерфейсе пункт?
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:21  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Скажите куда должны выводится имена, где в интерфейсе пункт?
Вы про класс дата? Я не разобрался ещё как его использовать. Он у меня пока ничего не делает.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:22
Цитата Сообщение от Black_White Посмотреть сообщение
А не подскажите пожалуйста напоследок как сделать чтобы больше 2-х элементов показывало?
Где?

Понял
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:25  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Где?
В JList. Базы-->Управление базами
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 01:42
Тут я вам не подскажу. Попробуйте подвинуть кнопку "Назад" вниз с помощью Layout'а.
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 01:47  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Тут я вам не подскажу. Попробуйте подвинуть кнопку "Назад" вниз с помощью Layout'а.
Сделал FlowLayot и получилось. Но теперь надо кнопку с листом растянуть по ширине. Но это уже в другой раз) Ещё раз спасибо, намучались со мной)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2014, 01:47
Помогаю со студенческими работами здесь

Переделать чтобы считывалось из файла
Программа собирает тройки цифр по возрастанию . Препод сказал что надо сделать из файла что надо добавить в программировании совершенно не...

Как сделать, чтобы работало несколько форм?
Здравствуйте. Помогите с такой проблемой, есть страница на которой модуль выводит несколько (примерно 5-8) товаров определенной категории,...

Как сделать чтобы в условии выполнялось несколько действий?
работает так; begin if a+b then Form2.Show else а нужно, что бы где form2.show ,было 2 выполнения...

Как сделать чтобы скачивалась не одна картинка а несколько?
Есть код, он сохраняет один файл (картинку):#include &quot;mainwindow.h&quot; #include &quot;ui_mainwindow.h&quot; #include &lt;QFile&gt; #include...

Как сделать, чтобы в if выполнялась ни одна команда, а несколько
Укажите на ошибки. И главный вопрос: как сделать, чтобы в if выполнялась ни одна команда, а несколько. program MictuneOS; uses ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru