Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Need Java-help или первые шаги в Java-программировании.

Автор: Z i M
Дата сообщения: 12.08.2005 22:34
У меня большая просьба помочь мне сделать первые шаги в Java-программировании. Я неплохо разбираюсь в Delphi, немного знаю C++. Сейчас необходимо быстро разобраться с элементарным программированием на Java. Начал читать книгу Шилдта по Java 2 и ещё одну под авторством Хабибулина. Первые шаги на консоли сделал, сейчас изучаю пакеты и все рядом. Прошу ответить на пару доольно ламерских вопросов:

1) какую среду лучше выбрать?! какая мощнее?! какая проше в изучении и обращении?!
(Я установил JDK и IntelliJ IDEA 4.5, пока писал под консолью использовал javac и java)

2) есть ли в Java возможность визуального программирования как в Delphi, т.е. можно ли открыть конструктор формы и вешать различные edit'ы и button'ы?! если да, то как?!

3) поддерживает ли Java программирование баз данных с помощью SQL?! какую среду или пакет для этого необходимо установить?!

4) вопрос довольно тупой, но как мне сделать простенькое окошко, в ктр будут несколько полей для ввода информации и поле для вывода введенных данных?!

вопросы слишком примитивные, но никак не могу освоить среду и нужна помощь для старта, заранее благодарен за любую помощь
Автор: Kuvaldum
Дата сообщения: 13.08.2005 02:19
1: Различные инструменты для Java более близки между собой, чем, скажем, реализации С++. Что бы ты ни установил, компилировать будет все равно JDK. Выбор инструмента - это, скорее, вопрос вкуса. Сама Sun поставляет NetBeans, например. Возможно, после Delphi логично попробовать JBuilder.

2: Практически все средства дают возможность визуальной разработки на базе собственных библиотек Java. То есть на выходе будет такой же Java-текст, какой можно было бы просто набрать в текстовом редакторе. Правда, некоторые концепции после Delphi несколько непривычны, но об этом лучше почитать в книгах.

3: Ключевое слово: JDBC. Поищи в любом поисковике.

4: Практически в любой книжке и с любым средством идут тонны примеров. Если не найдешь, пиши в мыло, я тебе пришлю.
Автор: Xarde
Дата сообщения: 13.08.2005 11:08
Я тоже сейчас разбираюсь с явой. Попробую ответить на вопросы:

Цитата:
1) какую среду лучше выбрать?! какая мощнее?! какая проше в изучении и обращении?!
(Я установил JDK и IntelliJ IDEA 4.5, пока писал под консолью использовал javac и java)

Я пробовал писать в блокноте - неудобно. Пробовал в JBuilder 7 - громоздко и много лишнего, включая собственные библиотеки борланда, которые я не горю желанием использовать (предпочитаю стандартные). Сейчас осваиваю IntelliJ IDEA 4 - имхо, перемудрили они и даже примеры не удосужились положить. Но, в целом, интелиж мне понравился больше, хотя я так и не понял пока, как там разработанную форму использовать. Тут вопрос к экспертам - как? Я смог пока что только установить связь компонентов формы с полями класса, но как создать и отобразить саму форму? Если так же, как это принято делать - писать весь класс, то зачем, собственно, визуальная разработка формы?

Цитата:
2) есть ли в Java возможность визуального программирования как в Delphi, т.е. можно ли открыть конструктор формы и вешать различные edit'ы и button'ы?! если да, то как?!

JBuilder

Цитата:
3) поддерживает ли Java программирование баз данных с помощью SQL?! какую среду или пакет для этого необходимо установить?!

Не очень правильно спросил, но ответили тебе верно - ОВИС. Есть еще и другие варианты, но для начала сойдет.

Цитата:
4) вопрос довольно тупой, но как мне сделать простенькое окошко, в ктр будут несколько полей для ввода информации и поле для вывода введенных данных?!

Тут проще посмотреть примеры. С JDK они должны рядом лежать. Посмотри, хотя бы, тут: <jdk folder>\demo\applets\

А теперь хочу добавить вопрос:
можно ли скомпилировать .exe-файл и как это сделать?
Автор: Kuvaldum
Дата сообщения: 13.08.2005 13:07
Xarde

Цитата:
можно ли скомпилировать .exe-файл и как это сделать?

Самой Java нельзя, это противоречит ее кроссплатформенной концепции. Но существует масса утилиток, цель которых просто запустить Java-машину и подсунуть ей стартовый класс. Google по запросу "Java exe" толпу ссылок вывалил, вот, например:

Цитата:

Jsmooth
a Java Executable Wrapper creation system that generates Win32 executable files (.exe)
[Open Source, GPL]
http://jsmooth.sourceforge.net

Автор: rew
Дата сообщения: 14.08.2005 00:05
1 да идея на мой взгляд наиболее мощная и удобная среда

2 чесно говоря "нормального" гуй билдера пока не видел (сильно и не искал) у всех какие то заморочки, что если ты не знаешь как это сделать руками, то ниче не получится, а если знаешь как руками, то проще и эффективней так и делать

3, 4 ищи туториалы http://java.sun.com/docs/books/tutorial/index.html


Цитата:
даже примеры не удосужились положить

http://www.jetbrains.com/idea/training/index.html секция GUI Designer там тупо ролики с обьяснениями, как что делать
Автор: Xarde
Дата сообщения: 14.08.2005 00:26
Kuvaldum, rew
Спасибо за ответы. Пойду смотреть ролики от "идеи".
Автор: Z i M
Дата сообщения: 14.08.2005 18:30
Всем спасибо, буду пробывать! Тут у меня назревают ещё вопросы, буду выкладывать их постепенно.
Автор: Xarde
Дата сообщения: 14.08.2005 22:09
Пробую установить связь с какой-нибудь БД из явы. Кое-как нашел у себя на винте jdbc для mysql. Поставил. Драйвер по 'Class.forName( "com.mysql.jdbc.Driver" );' находит нормально. А вот как написать строку url для коннекта - не знаю. Примеров так и не нашел, а в документации говорится о каких-то "subprotocol" и "subname" без объяснения, что же это такое и как их "придумать". Подскажите, плиз.
Автор: vndovr
Дата сообщения: 15.08.2005 00:32
http://dev.mysql.com/doc/mysql/en/cj-configuration-properties.html
Автор: Z i M
Дата сообщения: 15.08.2005 23:12
народ, как поменять параметр CLASSPATH,

кстати, посмотрел один из флешовых мувиков на sun'е, просто стильно понятно, может ещё скачаю остальные
Автор: Z i M
Дата сообщения: 16.08.2005 23:55
да, ещё вопрос, тоже ламерский, но JDBC - java data base client - это надстройка к чему?! ставится ли он на intelij idea?!

Добавлено:
да, и ещё, где можно глянуть примеры кодов с использованием jdbc, готовые оконные приложения ?!
Автор: Kuvaldum
Дата сообщения: 17.08.2005 03:08
Z i M

Цитата:
как поменять параметр CLASSPATH

В самой Java-машине его прямо в командной строке можно указать, а во всяких средах обычно есть опция в настройках.


Цитата:
JDBC - java data base client - это надстройка к чему?!

Java Database Connectivity
Это в большинстве случаев не надстройка, а просто набор классов Java. Ну, и связывющие их идеи В общем, это на текущий момент неотделимый кусочек Java.


Цитата:
ставится ли он на intelij idea?

Главное, что в прнципе нужно понять, что все инструментальные средства приводят только лишь к исходному коду на Java. Компилируется этот код потом всегда стандартным компилятором от Sun. И можно часть проекта делать в одном инструменте, потом доводить в другом, а глянец наводить руками в текстовом редакторе. Java везде одинаковая.
Автор: Delphi6
Дата сообщения: 17.08.2005 10:14
Здравствуйте,
А меня интересует какой из разновидностей, если так можно сказать, вы мне посоветуете использовать, если учесть что я любитель отлаживать программы в пошаговом режиме (debug).
Заранее благодарю за помощь
Автор: Z i M
Дата сообщения: 17.08.2005 10:39
to Kuvaldum:
нет, это всё понятно, но мне надо с помощью java и sql создать млаенькую базу данных, насколько я понял для этого как раз таки и нужно jdbc, ктр я в принципе скачал из нета, она представилась мне в виде jar файлов, что мне с ними надо сделать?!

и ещё тоже ламерский вопрос - дает ли intelij idea возможность работы на встроенном sql или вообще даёт ли возможность работать с БД, и встроенно ли в нее jdbc
Заранее спасибо.



to Delphi 6 - я java изучаю около недели, но насколько я понял, Java имеет совсем другой принцип нежели delphi, совсем другую идею и структуру, поэтому я могу быть не прав, но отладка в java не совсем пошаговая, хотя в той же intelij idea есть так называемые toggle point (воде правильно написал), аналогичные оным в delphi, ну а большего я пока не знаю
Автор: Xarde
Дата сообщения: 18.08.2005 00:22
Z i M
jar надо положить в папку <Java>\jre\lib\ext
После этого надо еще и саму СУБД поставить и правильно настроить. Тут уже зависит от конкретной СУБД. Советую попробовать mysql - лично я его смог поставить и подключиться к нему из явы довольно быстро и без особых проблем.

jdbc, как тебе уже сказали, в редакторы не встраивают. Незачем. Это не ODBC, которая в первую очередь технология и только потом реализация драйверов. Здесь "технология" реализована за счет стандартных абстрактных классов и есть конкретные реализации драйверов. Выбрал СУБД, поставил ее jdbc-драйвер и пользуйся.

Дебаг в IntelliJ IDEA есть. Вполне неплохо сделан, по-моему.
Автор: vndovr
Дата сообщения: 18.08.2005 01:25

Цитата:
jar надо положить в папку <Java>\jre\lib\ext

Зачастую источник ошибок. По возможности ложить в CLASSPATH
Автор: Kuvaldum
Дата сообщения: 18.08.2005 11:18
Z i M
То, что ты скачал, это скорее всего драйвер к твоей базе. Сам JDBC встроенный в Java.
Вот, почитай тут, вроде все по шагам: http://www.hardline.ru/2/22/3426/
Автор: Xarde
Дата сообщения: 18.08.2005 23:12
vndovr

Цитата:
Зачастую источник ошибок. По возможности ложить в CLASSPATH

Где-то в документации прочел, что именно в \jre\lib\ext и надо ложить, потому так и написал. У меня ошибок не было, но я напрямую в проект включил этот jar.
Автор: vndovr
Дата сообщения: 19.08.2005 00:45
1. то что лежит в ext доступно для всех java приложений, поэтому если у тебя, к примеру, библиотеки разных версий - ты не можешь их разделить между приложениями (только отключив или переопределив путь к ext каталогу).
2. загрузка классов - классы которые лежат в ext не видят классов из CLASSPATH - т.е. классов твоего приложения.
Для того чтобы jar ложить в jre/lib/ext нужны достаточно веские основания и, если их нет, то, соответственно, лучше этого не делать.
Автор: rew
Дата сообщения: 19.08.2005 21:29
есть еще вариант тупо загрузить драйвер через класслоадер

Код:
URLClassLoader loader = new URLClassLoader(new URL[]{new URL("[driver path]")});
Driver driver = ((Class<Driver>) loader.loadClass("com.mysql.jdbc.Driver")).newInstance();
Connection connection = driver.connect("jdbc:mysql://localhost/?user=sa&password=", null);
Автор: Z i M
Дата сообщения: 21.08.2005 19:17
всем спасибо, буду изучать ссылки, будут вопросы - спрошу ...
Автор: Z i M
Дата сообщения: 22.08.2005 10:11
народ, появились ещё вопросы, а именно:
1) я прочитал кучу статей про подключение БД в Java-приложение, но всё равно остался вопрос как создать новую пустую SQL БД через Java и встроенный JDBC?
2) в Java есть встроенный тип из класса Swing JTable как я понял он служит для обработки и выведения на экран разного рода данных, тогда вопрос - можно ли сохранить данные из созданной JTable в файл а потом при необходимости подгружать ранее созданную таблицу и её дополнять/обновлять?!
Автор: rew
Дата сообщения: 22.08.2005 21:55

Цитата:
остался вопрос как создать новую пустую SQL БД через Java и встроенный JDBC?

читай доки к бд, у мс скл сервера например есть команда CREATE DATABASE у мыскла что то подобное есть, но конкретно я не помню

Цитата:
в Java есть встроенный тип из класса Swing JTable как я понял он служит для обработки и выведения на экран разного рода данных, тогда вопрос - можно ли сохранить данные из созданной JTable в файл а потом при необходимости подгружать ранее созданную таблицу и её дополнять/обновлять?!

есть милион способов сделать это, но в общем все свинг компоненты работают по шаблону MVC, те данные абстрактно отделены от отображения, смотри примеры http://java.sun.com/docs/books/tutorial/uiswing/components/table.html и http://www.crionics.com/products/opensource/faq/swing_ex/SwingExamples.html
Автор: Z i M
Дата сообщения: 22.08.2005 23:43

Цитата:
читай доки к бд, у мс скл сервера например есть команда CREATE DATABASE у мыскла что то подобное есть, но конкретно я не помню


легко сказать читай доки, чтоб я там мог хоть что понять! я потиху разобрался с IntelliJ IDEA, вроде даже так неплохо, но вот как создавать БД так и не понял, во всех гайдах, помошниках и статьях ничего нет про создание просто "статической" БД, везде надо что-то типа драйверов устанавливать, какие-то подтверждния получать, а потом ещё и указывать какие-то URL адреса, а мои познания Java и SQL не дают ответов на эти вопросы!!!

Добавлено:

Цитата:
есть милион способов сделать это, но в общем все свинг компоненты работают по шаблону MVC, те данные абстрактно отделены от отображения, смотри примеры http://java.sun.com/docs/books/tutorial/uiswing/components/table.html и http://www.crionics.com/products/opensource/faq/swing_ex/SwingExamples.html



я просмотрел ссылки, но там ничего не сказано про возможность сохранения таблиц в о внешние файлы, если я всё правильно понял, так что вопрос открыт
Автор: Xarde
Дата сообщения: 23.08.2005 00:13
Z i M

Цитата:
я просмотрел ссылки, но там ничего не сказано про возможность сохранения таблиц в о внешние файлы

Извини, но сохранение тебе придется делать ручками, если оно сильно требуется. Это уже излишество, если системные компоненты будут уметь кроме необходимого еще и кучу необязательного. В этом случае системные библиотеки просто потеряют свой смысл - минимум, скорость и качество.
Надо кроме отображения еще и сохранение - пиши свой класс, который будет основан на Jtable, но кроме всего еще и сохранять научится. Только вот представление и данные лучше бы все-таки разделять, а не мешать в одну кучу - потом легче будет менять что-то в программе.
Автор: rew
Дата сообщения: 23.08.2005 06:28

Цитата:
легко сказать читай доки, чтоб я там мог хоть что понять!

ну смотри для работы с бд тебе придеться знать не только java или др язык програмирования но и sql, а для эффективной работы, еще и конкретные заморочки конкретной дб, это не сложно, но это достаточно большой обьем информации и за один день его не осилить... пытайся и все пролучится
вот, в мыскле тоже есть оператор CREATE DATABASE http://dev.mysql.com/doc/mysql/ru/create-database.html
Автор: Z i M
Дата сообщения: 23.08.2005 22:59
насчет SQL - я знаком, не слишком глубоко, но основные операторы создания и редактирования я знаю, вот, но я немного загнул в прошлой мессаге, я тут порылся в нете нашел пару статеек, вот пара вопросов:

1) возможно ли создать не апплет, а просто java-приложение на одном компе и работать локально с БД
2) можно ли методом connection ссылаться на не существующую базу, чтобы далее её создать?!
3) можно ли вообще с помощью метода connection создать новую БД
4) обязателен ли параметр URL при подключении БД
Автор: Xarde
Дата сообщения: 24.08.2005 04:34
Z i M

Цитата:
1) возможно ли создать не апплет, а просто java-приложение на одном компе и работать локально с БД

Да. для этого надо, чтобы один из публичных классов содержал публичный метод public static void main(String [] args), который будет создавать и запускать экземпляр проги. Запускать это на просмотр можно через java <имя класса с методом main, _без_ расширения ".class">.
Об остальном пока сказать не могу - сам еще не умею. Думаю, можно.
Автор: rew
Дата сообщения: 24.08.2005 08:55

Цитата:
1) возможно ли создать не апплет, а просто java-приложение на одном компе и работать локально с БД

да, конечно, но работать она будет только если на машине устновлено JRE версии не ниже чем была использована при написании. читать Java application launcher. гуглить по фразе executable jar

Цитата:
2) можно ли методом connection ссылаться на не существующую базу, чтобы далее её создать?!

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

Цитата:
3) можно ли вообще с помощью метода connection создать новую БД

не могу гарантировать за все бд, но в общем да

Цитата:
4) обязателен ли параметр URL при подключении БД

конечно, драйвер должен знать адрес сервера, иначе куда он должен подключаться? в пустое место?
еще раз, про скл, должен быть хотябы один скл сервер и ты обязательно должен знать его адрес, на сервере может не быть ни одной бд, может быть только одна и может быть много. более конкретно надо читать доки
Автор: Z i M
Дата сообщения: 24.08.2005 10:05
to Xarde - насчет main это я давно знаю, я имел ввиду работу с бд на компьютере не подключенном к нету


to rew:
ладно, но откуда мне взять адрес sql сервера?!

можно ли создать бд у меня на компе без всяких подключений к серверам?!

в чем смысл подключения к серверу

Страницы: 12345

Предыдущая тема: Вакансия поддержка ПО


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.