Виды программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
Вопросы производительности и ресурсоёмкости, JSP vs PHP
Отображение хитрых символов
Расстояние между кнопками
Работа с клавиатурой в Java
Java everywhere..., even on Mars
Swing & focus
БД. Как визуализировать данные на форме?.., а также реализовать основные операции..
отображение корректного адреса, точнее того который нужен
Вывод данных выбраного объекта в поля
int и String
Нужна ли лицензия?
Есть ли перспективы изучать Java???
Как узнать из какого метода позвался, текущий метод (т.е. как узнать caller'а)
problema s JBUILDER, ne idet instalyaciya
Получение изображения из сервлета
TreeModel
Какой алгоритм сборки мусора в Java?
IDEA 4.0, Gui Designer
Java on Mac OS
Обработка нажатия на клавиатуру
Java + FreeBSD, Описание установки Явы на Фрю
Проблемы с Forte
работа с TextArea
РАбота с текстовым файлом, хочу порстой пример работы с txt
Интефейсы
Печать из апплета, Не могу разобраться с печатью апплета
Срочно! Есть у кого-нибудь руководство по...
народ хочу начать изучать java
помощь IBM в переводе Java на принципы open source, Компьютерра: статья
Localhost
Full screen mode, Проблемы работы в полноэкранном режиме
COM wrapper
Кто работал с rmi
А какую версию JDK Вы используете?, и почему? :)
Как узнать какую таблицу я изменил?, java.sql.*;
как работать с EJB на Oracle
Как Вы относитесь к курящим девушкам?
Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
работа с JTree
Ошибка в добавлении!!!
JavaVM, under Linux Red Hat 9.0
трансляция классов, трансляция классов из программы
Мнение о разработках Opensymphony.com
PrintScreen.., возможно?..
Razbor stroki (is String poluchit' komandu)
Симметричная разность
setBackgound().., как поменять цвет фрейма?..
Servlet & SSL
getElement ->JTextField->addElement
Эй, никого не раздрожает множество версий Java ?
"write once - work everywhere"- так ли всё гладко?
Ответ Sun относительно открытых исходников, Компьютерра:Ответ на дайте Джаве свободу
Rediraction
Объявление переменной
Фон(рисунок) в JToolBar, Реально ли?
Загрузка библиотеки из программы, Как загрузить *.jar файл.....?
А как вставить картинку в ячейку таблицы???
Криптование ассиметричными ключами., Где взять реализацию DSA/RSA?
Запись файла на Web сервер
jni & cygwin
Високосный год..., как орпеделить???
Фокус и JTable
Java vs MySQL, Проблемы с кодировкой
Возведение в степень
CellEditor в JTable, Создание и возможности
TextField или JTextField..., накиньте литературку, плз!
Основы. Object.hashCode(), расскажите смысл и правила пож.

Платные хостинги     Раскрутка сайта     Книги по программированию


трансляция классов, трансляция классов из программы

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Кросспост:Если пытаться генерить исходный код (файл с расширением ява) то тут одно из 2-х. Либо через шелл запускать компилятор, а потом подгружать через рефлексию полученный файл, либо писать свой компилятор и писать в файл уже скопилированный класс. ЗЫ. Вообще то не желательно создавать дублирующиеся темы...

- Самомодифицирующийся код - самый надежный способ сделать программу неотлаживаемой.

- Кстати... А зачем тебе это? Может ты велосипед изобретаешь?

- В принципе такое возможно.Как-то мне попалась статья от SUN. Постараюсь ее сократить Итак, начнем с кода примера. Сама форма предназначена только для ввода данных, поэтому конструктор и метод main представляет мало интереса (если Вы конечно не совсем новичок в SWING). Самое интересное находится в методе doCompile в самом низу программы.Код import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.lang.reflect.*;public class RunIt extends JFrame {  JPanel contentPane;  JScrollPane jScrollPane1 = new JScrollPane();  JTextArea source = new JTextArea();  JPanel jPanel1 = new JPanel();  JLabel classNameLabel = new JLabel("Class Name");  GridLayout gridLayout1 = new GridLayout(2,1);  JTextField className = new JTextField();  JButton compile = new JButton("Go");  Font boldFont = new java.awt.Font("SansSerif", 1, 11);  public RunIt()  {    super("Editor");    setDefaultCloseOperation(EXIT_ON_CLOSE);    contentPane = (JPanel) this.getContentPane();    this.setSize(400, 300);    classNameLabel.setFont(boldFont);    jPanel1.setLayout(gridLayout1);    compile.setFont(boldFont);    compile.setForeground(Color.black);    compile.addActionListener(new ActionListener() {      public void actionPerformed(ActionEvent e)      {        try {          doCompile();        }        catch (Exception ex) {          System.err.println("Error during save/compile: " + ex);          ex.printStackTrace();        }      }    });      contentPane.add(jScrollPane1, BorderLayout.CENTER);    contentPane.add(jPanel1, BorderLayout.NORTH);    jPanel1.add(classNameLabel);    jPanel1.add(className);    jScrollPane1.getViewport().add(source);    contentPane.add(compile, BorderLayout.SOUTH);  }  public static void main(String[] args)  {    Frame frame = new RunIt();    // Center screen    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();    Dimension frameSize = frame.getSize();    if (frameSize.height > screenSize.height) {      frameSize.height = screenSize.height;    }    if (frameSize.width > screenSize.width) {      frameSize.width = screenSize.width;    }    frame.setLocation(      (screenSize.width - frameSize.width) / 2,      (screenSize.height - frameSize.height) / 2);    frame.show();  }    private void doCompile() throws Exception  {    // write source to file    String sourceFile = className.getText() + ".java";    FileWriter fw = new FileWriter(sourceFile);    fw.write(source.getText());    fw.close();    // compile it    int compileReturnCode =      com.sun.tools.javac.Main.compile(new String[] {sourceFile});    if (compileReturnCode == 0) {      // run it      Object objectParameters[] = {new String[]{}};      Class classParameters[] = {objectParameters[0].getClass()};      Class aClass = Class.forName(className.getText());      Object instance = aClass.newInstance();      Method theMethod = aClass.getDeclaredMethod("main", classParameters);      theMethod.invoke(instance, objectParameters);    }  }}highlightSyntax('javaYzViMG','java'); После того как текст набран, его надо скомпилировать. Заметьте, что добавлена дополнительная библиотека tools.jar. Она лежит в SDK - поищите. Т.к. у меня установлена переменная окружения JAVA_HOME, то я ей и воспользовался.Код javac -classpath .;%JAVA_HOME%\lib\tools.jar RunIt.javahighlightSyntax('javaMmRmY2Q','java');Если все скомпилировалось, то можно запустить наше приложение.Код java -classpath .;%JAVA_HOME%\lib\tools.jar RunIthighlightSyntax('javaiMmU5YWR','java');ВАЖНО - запускайте именно через java, а не javaw - нам понадобится наблюдать за окном, где запущена сама java.Перед вами обычная форма у которой верхнее поле ввода для имени класса, второе поле - для тела (программы).Введите в верхнее поле Sample а в нижнее полеКод public class Sample {  public static void main(String args[])  {    System.out.println(new java.util.Date());  }}highlightSyntax('java5MjM5YjZi','java');и нажмите кнопку Go. И можно будет увидеть с окне, где запущена java сегодняшнюю дату. Дело сделано.

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с предприятие | язык программирования pascal | виды программирования | программирование процессоров | язык программирования 1с | программирование assembler | методология программирования | прикладное программирование | программирование turbo pascal | парадигмы программирования | удаленная программирование | программирование управления | справочник программирования | задачи математическому программированию | методики программирования | программирование outlook | компьютерное программирование | программирование деревья | высокоуровневое программирование | программирование delphi скачать | программирование сигнализации | теория языков программирования | программирование микропроцессоров | обоснование языка программирования | программирование win32 | Ссылки

Все про программирование управления