Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Отчеты


Автор: DEER 12.4.2005, 11:05
Здраствуйте.
Я использую среду JDeveloper, встала задача нарисовать отчет, я знаю что можно использовать стандартные средства создания отчетов типа CrystalReport, но нельзя ли обойтись без них???
Например в коде программы создать HTML страничку(как это делает сервлет) и вывести её на экран?? Всё это должно быть в обычном(оконном) приложении.
Если кто нить что нить про это знае, подскажите пожалста!
Заранее благодарен

Автор: batigoal 12.4.2005, 11:14
А в чем проблема? Записать результаты в файл, использовать теги, а потом открыть его.
Добавлено @ 11:15
Открывать можно и во внешнем браузере, или обязательно внутри своей программы?

Автор: DEER 12.4.2005, 11:53
не в нутри программы, а при помощи её,
т.е. Я создал файл, а потом чтоб не надо было пользователю лезть на вит и открывать етот файл.

А если не сложно можно кусочек кода как этот файл создать и потом открыть smile

Добавлено @ 11:57
Я пытаюсь сделать вот так::
PrintStream out = new PrintStream(); //
out.print("<html><body>");
out.print("<h1>Hello Word</h1>");
out.print("</body></html>");
out.flush();

Но он ругается на первую строчку(типа надо поток инициализировать)
Что там параметром надо указать???
И как потом это всё на экран вывести???

Автор: batigoal 12.4.2005, 12:05
Ну, для начала - тебе нужен не PrintStream. Помотри доки на FileWriter.
А чтобы открыть - метод Runtime.getRuntime.exec().
Добавлено @ 12:13
Код

import java.io.*;

public class Test
{
    public static void main(String[] args)
    {
        File f = new File("G:\\test.htm");
        try
        {
            FileWriter out = new FileWriter(f);
            out.write("<html><body>\n");
            out.write("<h1>Hello Word</h1>\n");
            out.write("</body></html>\n");
            out.close();
            Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE G:\\test.htm");
        }
        catch(IOException e)
        {
            System.out.println("IO error!");
        }
    }
}

Автор: DEER 12.4.2005, 12:20
Спасибо!!!!!!
А ещё вопрос:
Можно ли Без указания расположения експлорера???
Добавлено @ 12:21
типа гиперссылки???

Автор: batigoal 12.4.2005, 12:30
Цитата(DEER @ 12.4.2005, 12:20)
Можно ли Без указания расположения експлорера???

Эта информация, наверное, есть в реестре или виндовских файлах. Но как ее вытянуть, я не знаю. Лучше всего хранить сведения о местонахождении браузера в настройках программы - тогда можно будет использовать и другой браузер, если юзер пользуется чем-нибудь отличным от IE.
Добавлено @ 12:32
Перевалил за пятисотый пост. Старею, однако... smile

Автор: DEER 12.4.2005, 12:49
Поздравляю!

Я тоже так думаю.
У меня есть файл с прописанными в нём драйвером и урлом БД
туда я и помещу пока(до лучших времён путь к IE)

Автор: DEER 12.4.2005, 13:07
А можно ли где нить в этой сторке
Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE G:\\test.htm");

указать "rezisable=no"(так вроде пишеться), чтобы окошко было без панелей?

Автор: batigoal 12.4.2005, 13:14
Нет, это свойство JavaScript. Причем размер и параметры окна браузера можно изменять только в новом окне, открываемом уже из основного документа, а у самого документа - нельзя (кроме браузера Netscape).

Автор: DEER 12.4.2005, 13:15
пнятно......
Ну ладно спасибо Большое за подсказку

Автор: batigoal 12.4.2005, 13:26
Пожалуйста smile

P.S. Спасибо, что воспользовались услугами нашего форума... smile

Автор: Upir 11.5.2005, 14:18
Можно проще
Код

import javax.swing.text.html.*;
.....
    JEditorPane html = new JEditorPane();

    URL url=null;
    try {
      url=getClass().getResource("/help/index.html");
      html.setPage(url);
    }
    catch(Exception e) {
      System.err.println(e.getMessage());
    }



Автор: Stampede 12.5.2005, 20:10
Цитата(DEER @ 12.4.2005, 12:20)
Можно ли Без указания расположения експлорера?


У меня получалось таким образм:

Код

Runtime.getRuntime().exec("cmd.exe /E:1900 /C start \" \" \"" + file.getAbsolutePath() + "\"");


Запускает ту прогу, которая установлена по умолчанию для данного типа файла (по его расширению).

Автор: batigoal 12.5.2005, 20:49
Stampede
Расшифруй значения параметров, если можно. А то непонятно, что к чему - /E:1900 /C start

Автор: Stampede 12.5.2005, 21:17
Цитата(Lamer @ 12.5.2005, 20:49)
Расшифруй значения параметров, если можно


Я, если честно, в свое время просто скопировал откуда-то из интернета. Попробовал - работает, да и ладно. Щас вот с твоей подачи глянул в хелп: /E:1900 точно из какой-то другой оперы.

cmd.exe - это виндовозный командный процессор,, он же консоль, он же шелл.

start - это команда, которую можно передать cmd.exe при запуске. Команда start запускает программу или документ в его родном приложении.

/C - говорит. что надо выполнить команду и тихонько сдохнуть.

По всем остальным вопросам:

help cmd
help start

smile

Автор: batigoal 12.5.2005, 21:23
Пасиб.
А насчет параметров командной строки, кстати, есть закрепленная тема в форуме по виндам, если кому интересно: http://forum.vingrad.ru/index.php?showtopic=39624

Автор: SmaLL 14.7.2005, 15:44
А все тоже самое, но под *никсы?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)