Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 21.12.2013
Сообщений: 23
1

Дерево и URL / .htm

29.04.2014, 22:20. Показов 822. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Имеется дерево: Мир - Страна - Область(Регион, Провинция и т.п.)- Город - URL( сслылка на Википедию, с описанием этого города).

Изображение:
Кликните здесь для просмотра всего текста
Дерево и URL / .htm


Кусок кода:
Кликните здесь для просмотра всего текста
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
    public TreeNode makeSampleTree() {
        
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("Мир");
        
        DefaultMutableTreeNode country = new DefaultMutableTreeNode("Беларусь");
        root.add(country);
        
        DefaultMutableTreeNode obl = new DefaultMutableTreeNode("Минская Область");
        country.add(obl);
        
        DefaultMutableTreeNode city = new DefaultMutableTreeNode("Минск");
        obl.add(city);
        
        DefaultMutableTreeNode inf = new DefaultMutableTreeNode("URL");
        city.add(inf);
        city = new DefaultMutableTreeNode("Борисов");
        obl.add(city);
        city = new DefaultMutableTreeNode("Солигорск");
        obl.add(city);
        city = new DefaultMutableTreeNode("Молодечно");
        obl.add(city);
        city = new DefaultMutableTreeNode("Жодино");
        obl.add(city);
        city = new DefaultMutableTreeNode("Слуцк");
        obl.add(city);
        
        obl = new DefaultMutableTreeNode("Гомельская область");
        country.add(obl);
        city = new DefaultMutableTreeNode("Гомель");
        obl.add(city);
        city = new DefaultMutableTreeNode("Мозырь");
        obl.add(city);
        city = new DefaultMutableTreeNode("Жлобин");
        obl.add(city);
        city = new DefaultMutableTreeNode("Светлогорск");
        obl.add(city);
        city = new DefaultMutableTreeNode("Речица");
        obl.add(city);
 
        return root;
}


Хочу сделать, чтобы ссылка была кликабельна(открывалась в браузере) или, как вариант, все .htm сохранены на диске и мы вместо URL указываем путь к файлу( пример : "c:\Беларусь - Википедия.htm" ), который также открывается в браузере.

Прошу помочь, заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2014, 22:20
Ответы с готовыми решениями:

Как вставить htm в javascript в обычный htm чтобы сохранить русские буквы?
Подскажите кто-нибудь!!! Как вставить htm c javascript в обычный htm чтобы сохранить русские...

Как сделать так чтобы пользователь не закрыв another.htm не мог получить фокус на main.htm?
Здравствуйте Уважаемые. Подскажите как сделать. Есть у меня Main.htm в которой у меня открывается...

Выделить из файла со списком файлов строки с именами htm-файлов и создать htm-файл со ссылками
Помогите с задачками! Задачи на bat-файлы: Выделить из файла со списком файлов строки с именами...

htm или HTM
при нажатии кнопки "обзор" в narode высвечивается не htm, а HTM. как с этим бороться?

5
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
01.05.2014, 04:06 2
Java
1
2
ProcessBuilder b = new ProcessBuilder("С:\\Program Files\\Mozilla Firefox\\firefox.exe","http://cyberforum.ru");
b.start();
Альтернативный (в браузуре по умолчанию):
Java
1
Desktop.getDesktop().browse(new java.net.URI("http://cyberforum.ru"));
1
2 / 2 / 0
Регистрация: 21.12.2013
Сообщений: 23
04.05.2014, 23:04  [ТС] 3
Кусок кода:
Кликните здесь для просмотра всего текста
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
        JButton addinfoButton = new  JButton("Узнать об этом");
        addinfoButton.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
                DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)
                        tree.getLastSelectedPathComponent();
                DefaultMutableTreeNode ourNode = new DefaultMutableTreeNode("Минск");              
                     
                if (selectedNode == ourNode ) {
                    
                try {
                ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Минск");
                    b.start();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }}
                else {
                    
                    try {
                        ProcessBuilder c = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\launcher.exe","http://cpeople.ru/404");
                        c.start();
                        
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }}                                          
            }
        });


Изображение:
Кликните здесь для просмотра всего текста
Дерево и URL / .htm


Не получается сделать, чтобы при нажатии на кнопку "узнать об этом" сравнивались выделенный объект дерева и, например, ourNode. И если выделенный объкт дерева == ourNode, то переходило на ссылку с вики, а если нет, то на ссылку с 404.
При выполнении кода( вне зависимости от выбранного объекта ), который представлен выше - все время переходит на ссылку с 404.
0
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
05.05.2014, 01:21 4
Цитата Сообщение от Rosenroot Посмотреть сообщение
При выполнении кода( вне зависимости от выбранного объекта ), который представлен выше - все время переходит на ссылку с 404.
Оператор == сравнивает ссылки, поэтому такой метод вернет false:
Java
1
2
3
4
5
boolean e() {
    DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("Минск"), 
                                     n2 = new DefaultMutableTreeNode("Минск");
    return (n1 == n2);
}
Сравнивайте текст(selectedNode.toString) узла со строкой "Минск" методом equals или equalsIgnoreCase.
1
2 / 2 / 0
Регистрация: 21.12.2013
Сообщений: 23
08.05.2014, 21:15  [ТС] 5
Спасибо вам, что помогаете.
Появился новый вопрос: как мне в данном случае избежать повторения кода:

Кликните здесь для просмотра всего текста
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
public void actionPerformed(ActionEvent e) {
                DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)
                        tree.getLastSelectedPathComponent();                
                String  a1 = selectedNode.toString();
                String  a2 = "Минск", a3 = "Брест", a4 ="Витебск", a5 = "Гомель", a6 = "Гродно", a7 = "Могилев",
                        a8 = "Минская область", a9 = "Брестская область", a10 = "Витебская область", a11 = "Гомельская область",
                        a12 = "Гродненская область", a13 = "Могилевская область", a14 = "Беларусь";
                    
                
                
                boolean Minsk = a1.equalsIgnoreCase(a2);
                if ( Minsk == true) {                   
                    try {
                        ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Минск");
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
                            
                boolean Brest = a1.equalsIgnoreCase(a3);
                if ( Brest == true) {           
                        ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Брест");
                        try {
                            b.start();
                        } catch (IOException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    }
 
                boolean Vitebsk = a1.equalsIgnoreCase(a4);
                if ( Vitebsk == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Витебск");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Gomel = a1.equalsIgnoreCase(a5);
                if (Gomel == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Гомель");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Grodno = a1.equalsIgnoreCase(a6);
                if ( Grodno == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Гродно");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }           
                }
 
                boolean Mogilev = a1.equalsIgnoreCase(a7);
                if ( Mogilev == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Могилев");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Minskaya_oblast = a1.equalsIgnoreCase(a8);
                if ( Minskaya_oblast == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Минская_область");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Brestskaya_oblast = a1.equalsIgnoreCase(a9);
                if ( Brestskaya_oblast == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Брестская_область");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Vitebskaya_oblast = a1.equalsIgnoreCase(a10);
                if ( Vitebskaya_oblast == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Витебская_область");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Gomelskaya_oblast = a1.equalsIgnoreCase(a11);
                if ( Gomelskaya_oblast == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Гомельская_область");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Grodnenskaya_oblast = a1.equalsIgnoreCase(a12);
                if ( Grodnenskaya_oblast == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Гродненская_область");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Mogilevskaya_oblast = a1.equalsIgnoreCase(a13);
                if ( Mogilevskaya_oblast == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Могилёвская_область");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
 
                boolean Belarus = a1.equalsIgnoreCase(a14);
                if ( Belarus == true) {
                    ProcessBuilder b = new ProcessBuilder("C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe","http://ru.wikipedia.org/wiki/Беларусь");
                    try {
                        b.start();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }


Думал все стринги a2-a14 засунуть в массив и при совпадении а1 с каким-то элементом из массива открывать ссылку привязанную к этому элементу массива. Но вот не знаю, как с ссылками сделать это. Или может знаете, как это лучше реализовать? Подскажите!
0
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
09.05.2014, 00:09 6
Java
1
2
3
4
5
6
7
8
9
10
final String BROWSER = "C:\\Program Files (x86)\\Opera\\New folder\\launcher.exe";
final String WIKI_LINK = "http://ru.wikipedia.org/wiki/";
 
public Process viewCityInfo(TreeNode n) {
    String cityLink = n.toString().replace(" ", "_");
    ProcessBuilder b = new ProcessBuilder(BROWSER, WIKI_LINK + cityLink);
    try {
        return b.start();
    } catch (IOException e1) {e1.printStackTrace();}
}
Добавлено через 5 минут
Создайте класс, который будет отвечать за данные дерева. Или Builder, который создает корневые DefaultMutableTreeNode из файла, Или свою Модель дерева TreeModel.

Добавлено через 4 минуты
Цитата Сообщение от MLPMan Посмотреть сообщение
Builder
нит, скорее фабрика...
1
09.05.2014, 00:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2014, 00:09
Помогаю со студенческими работами здесь

Как исправить: Изменил URL, но в адресных строках отображаются станые URL
Раньше были такого вида http://selftrips.ru/2013/01/07/27269 переделал на...

Сколько можно добавить URL адресов в свою созданную Группу URl?
Добрый день. Подскажите пожалуйста, сколько можно добавить URL адресов в свою созданную Группу...

Как из asp получить полный URL и часть URL от вопросительного знака?
Господа подскажите как из asp получить полный URL и часть URL от вопросительного знака. На...

Можно ли с помощью Response.Redirect(url) открыть этот url в другом фрейме?
Можно ли с помощью Response.Redirect(url) открыть этот url в другом фрейме?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru