Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маленький тест, :) 
:(
    Опции темы
Domestic Cat
Дата 6.7.2004, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



"... точность зависит от оперционноu сuстемы. Например, многие ОС измеряjут время в
десятках миллисекунд".

http://java.sun.com/j2se/1.4.2/docs/api/ja...entTimeMillis()


--------------------

PM   Вверх
redrick
Дата 6.7.2004, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 547
Регистрация: 7.1.2004
Где: Москва

Репутация: 3
Всего: 5



понятно, спасибо


--------------------
Имею Мнение Хрен Оспоришь   
PM MAIL ICQ   Вверх
Domestic Cat
Дата 6.7.2004, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Программа:
Код

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test extends JFrame implements ActionListener
{

   private JTextArea text;
   private JButton run;

   public Test()
   {
         
       text = new JTextArea(50, 50);

       run = new JButton("Compile and run");
       run.addActionListener(this);
       Container cp = getContentPane();
       cp.add(text, BorderLayout.CENTER);
       JPanel panel = new JPanel();
       panel.add(run);
       cp.add(panel, BorderLayout.SOUTH);
       setSize(300, 300);
       setLocationRelativeTo(null);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
       setVisible(true);
    }
   public static void main(String[] args) {
       new Test();

   }
   public void actionPerformed(ActionEvent ae)
   {}
}


Надо, чтобы юзер мог набрать произвольныu Java-код в JTextArea. При нажатии на кнопку этот код должен быть записан в метод main созданного программоu java-фаила, скомпилирован и выполнен.

PS. Runtime использовать нельзя biggrin.gif

Это сообщение отредактировал(а) AntonSaburov - 6.7.2004, 16:07


--------------------

PM   Вверх
AntonSaburov
Дата 6.7.2004, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Если ответ в com.sun.tools.javac.Main.compile, то есть еще одно предложение - при запуске программы в CLASSPATH не использовать tools.jar smile.gif
Т.е. запуск программы должен быть просто
java Test

P.S. Само собой, что и в системной переменной CLASSPATH этой библиотеки быть не должно.
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 6.7.2004, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата
Если ответ в com.sun.tools.javac.Main.compile,

biggrin.gif
Цитата
при запуске программы в CLASSPATH не использовать tools.jar
Т.е. запуск программы должен быть просто
java Test
P.S. Само собой, что и в системной переменной CLASSPATH этой библиотеки быть не должно.

adv/eek.gif
А я так и запускаю, кроме того у меня -то и tools.jar нет, и CLASSPATH не выставлен (bad baad Apple biggrin.gif)



--------------------

PM   Вверх
AntonSaburov
Дата 6.7.2004, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Но ведь где-то у тебя должен быть com.sun.tools.javac.Main ?
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 6.7.2004, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Он сидит в classes.jar, вместе с java, javax, sunw, org и sun.


--------------------

PM   Вверх
AntonSaburov
Дата 6.7.2004, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата
Он сидит в classes.jar, вместе с java, javax, sunw, org и sun.

Понятно. Под Винду в версии 1.4 он находится в отдельном JAR-файле tools.jar.
Ладно, тогда обобщим вопрос smile.gif

Как можно использовать классы из JAR-файла, не указывая этот файл в опции -classpath ?
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 6.7.2004, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Поместить его в ext директорию, которую можно наuти так:

Код

System.getProperty( "java.ext.dirs" );


smile.gif


--------------------

PM   Вверх
LSD
Дата 6.7.2004, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата
Как можно использовать классы из JAR-файла, не указывая этот файл в опции -classpath ?

Можно реализовать свой ClassLoader.
Вот мне не понятен другой вопрос: если во время работы программы изменить classpath (System.setProperty()), то никакого влияния на SystemClassLoader это не оказывает, может есть еще варианты?



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Domestic Cat
Дата 6.7.2004, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Можно запустить
Код

Runtime.getRuntime().exec("java -cp /Users/myName/Programs/ MyClass");

но разницы особож нет smile.gif


--------------------

PM   Вверх
LSD
Дата 6.7.2004, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Не это не вариант. С таким же успехом я могу написать батничек.
Мне надо как-то реализовать, механизм плагинов, вот я и думаю как. Идеально если для пользователя это будет так:
- поместил в нужный каталог jar
- в меню включил появился плагин, ты его если надо выключил
вот пока думаю как бы это реализовать.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Domestic Cat
Дата 6.7.2004, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Ну вот что-то типа того:
Код

import java.util.*;
import java.net.*;
public class Test
{
   public static final String path = "file:///Users/DomesticCat/MyFiles/";
   public static void main(String[] args)
   {
       String userEntered = "jode.swingui.Main";
       StringTokenizer stk = new StringTokenizer(userEntered, ".");
       try
       {
           URL[] url = new URL[] {new URL (path + stk.nextToken() + ".jar")};
           URLClassLoader loader = new URLClassLoader(url);
           System.out.println(loader.loadClass(userEntered));
       }
       catch (Exception e)
       {
           e.printStackTrace();
       }
   }
}


Это сообщение отредактировал(а) Domestic Cat - 7.7.2004, 00:20


--------------------

PM   Вверх
DarkDS
Дата 7.7.2004, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Цитата(LSD @ 6.7.2004, 21:59)
Не это не вариант. С таким же успехом я могу написать батничек.
Мне надо как-то реализовать, механизм плагинов, вот я и думаю как. Идеально если для пользователя это будет так:
- поместил в нужный каталог jar
- в меню включил появился плагин, ты его если надо выключил
вот пока думаю как бы это реализовать.

Оффтоп.
Подобная тема уже поднималась. Я как то объяснял уже один из вариантов smile.gif
http://forum.vingrad.ru/index.php?showtopi...t=0&#entry76499
PM MAIL   Вверх
Domestic Cat
Дата 7.7.2004, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата
Оффтоп.
Подобная тема уже поднималась. Я как то объяснял уже один из вариантов


Я чего-то не понял. Там же о создании обэцктов при заранее неизвестном названии класса ?



--------------------

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0896 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.