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


Автор: Samuil 29.4.2006, 14:38
Как в Java можно сделать круглые или без заднего фона окна, как у Windows Media Playera??
как через Java можно выключать комп?
и наконец как поместить Java приложение в автозагруку(не стандартным способом так: Start - Programms -startup )?[email protected] 

Автор: Samuil 29.4.2006, 15:29
Люди вот еще один вопрос. Для чего нухно использовать интерфейс FocusListener? smile  

Автор: powerOn 29.4.2006, 15:38
Цитата

Для чего нухно использовать интерфейс FocusListener?


Интерфейс FocusListener определяет методы, которые должен реализовать класс желающий реагировать на события связанные с передачей/потерей фокуса ввода.

Цитата

как через Java можно выключать комп?


никак. Хотя можно через JNI попробовать, но это не чистая Java.  

Автор: Samuil 29.4.2006, 15:45
А можно поподробней?
Цитата

 Хотя можно через JNI попробовать, но это не чистая Java.  
 

Автор: LSD 29.4.2006, 15:55
Цитата(Samuil @  29.4.2006,  15:38 Найти цитируемый пост)
Как в Java можно сделать круглые или без заднего фона окна, как у Windows Media Playera??

На чистой Java никак. Если только GUI часть делать на чем-то другом (типа C++ или Delphi), а логику на Java. Только смысла в этом немного.
А про JNI есть статья у нас в FAQ.

Цитата(Samuil @  29.4.2006,  15:38 Найти цитируемый пост)
как через Java можно выключать комп?

Через команды ОС и Runtime.exec() или опять же JNI.

Цитата(Samuil @  29.4.2006,  15:38 Найти цитируемый пост)
и наконец как поместить Java приложение в автозагруку(не стандартным способом так: Start - Programms -startup )[email protected] 

Чего? 

Автор: powerOn 29.4.2006, 15:55
Цитата

А можно поподробней?


Подробнее сдесь: http://java.sun.com/j2se/1.4.2/docs/guide/jni/index.html и в FAQ.

А если в двух словах, то JNI позволяет в Java коде делать вызовы из динамических библиотек. В Windows это .dll, а в Linux/Solaris - .so. Если есть возможность сделать подобный вызов, то собственно ничто не мешает тебе обратиться к любой WinAPI функции, среди которых естественно есть функция для выключения компьютера.

Добавлено @ 15:59 
Цитата


Цитата(Samuil @  29.4.2006,  15:38 Найти цитируемый пост)
и наконец как поместить Java приложение в автозагруку(не стандартным способом так: Start - Programms -startup )[email protected] 

Чего? 



Видимо интересует работа с реестром Виндовс, чтоб прописать загрузку программы при старте системы, а не просто положить её в папку "автозагрузка". Я к сожалению не знаю как в Java с реестром работать...  smile   

Автор: Samuil 30.4.2006, 11:20
Большое Спасибо! 
Вот я на форуме нашел тему: Программа - в иконку рядом с часами!!
Там есть ссылка на этот сайт: http://systray.sourceforge.net/
Вобщем скачал ее  и в папке есть следующие файлы: systray4j.dll и  systray4j.jar
Я заношу код Example.java файла в JBuilder и он мне говорит что import snoozesoft.systray4j.*; пакет не найден.
Так вот куда мне надо поместить эту .dll и .jar файлы что бы он их увидел smile[quote]

Добавлено @ 11:30 
Цитата

LSD : Через команды ОС и Runtime.exec()


а через какие команды? smile  

Автор: LSD 30.4.2006, 11:48
Цитата(Samuil @  30.4.2006,  12:20 Найти цитируемый пост)
Так вот куда мне надо поместить эту .dll и .jar файлы что бы он их увидел

dll надо поместить или в текущий каталог (для JBuilder это каталог проекта) или в любой каталог прописанный в PATH.
А для jar надо создать библиотеку и подключить ее к проекту: Project\Project properties\Paths\Required Libraries\Add\New - там создашь новую библиотеку и подключишь ее к проекту.

Цитата(Samuil @  30.4.2006,  12:20 Найти цитируемый пост)
а через какие команды?

Для Windows это shutdown -s -f -t 0 (этой команды нет в 9X серии и NT 4.0), для Linux вроде halt. 

Автор: Samuil 1.5.2006, 15:37
Спас-сибо , но что то у меня неполучается c Systraem так как Вы сказали
Вот в этой папку у меня стоит JBuilder: C:\Borland\JBuilder2005
в этой проект: C:\Borland\Projects Java\Java Projects\Probnic2
здесб jdk: C:\Program Files\Java\jdk1.5.0_05
так куда же все таки мне ложить JAR и DLL???

неподскажите ли Вы как можно перезагружать и Логофить Windows через Runtime?
 
Вот ещё я пытался работать с классом File и у меня вот такая проблемма: не могу удалить каталог.
пишу:

Код


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

public class Files extends JFrame implements ActionListener {
    JButton del = new JButton("Delete");

    private File forRemove = new File("C:/Borland/katalog");// Этот каталог нужно удалить

    Files() {
        super("Files");

        this.getContentPane().setLayout(null);
        setSize(200, 200);
        compon();
        show();
    }

    public void compon() {
        del.addActionListener(this);
        del.setBounds(50, 50, 80, 30);
        this.getContentPane().add(del);
    }

    public static void main(String[] args) {
        Files files = new Files();
        files.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == del) {
               forRemove.delete(); // Здесь пытаюсь удалить
        }
    }
}


Файлы он удадяет без проблемм а каталоги не в какую почему?  smile 
Заранее благодарю[code=java]

Добавлено @ 15:41 
Люди, а как в форум вставить картинку как у LSD(не такую же, а свою)? 

Автор: powerOn 1.5.2006, 20:50
Цитата

не могу удалить каталог.


1) Проверь, пустой ли каталог. Удалить можно только пустой каталог.
2) Проверь, правильно ли ты указал путь к каталогу и его имя. Ошибка в одном символе и все труды пойдут на смарку. 

Автор: LSD 1.5.2006, 22:28
Цитата(Samuil @  1.5.2006,  16:37 Найти цитируемый пост)
так куда же все таки мне ложить JAR и DLL???

dll в C:\Borland\Projects Java\Java Projects\Probnic2 или system32. jar - куда хочешь, главное создать библиотеку и подключить ее к проекту.

Цитата(Samuil @  1.5.2006,  16:37 Найти цитируемый пост)
неподскажите ли Вы как можно перезагружать и Логофить Windows через Runtime?

Пуск\Выполнить - %SystemRoot%\Help\ntcmds.chm, читать справку по shutdown до полного понимания.

Цитата(Samuil @  1.5.2006,  16:37 Найти цитируемый пост)
Люди, а как в форум вставить картинку как у LSD(не такую же, а свою)?

Идешь по http://forum.vingrad.ru/index.php?act=UserCP&CODE=24 ссылке и загружаешь себе аватар. 

Автор: Samuil 2.5.2006, 11:17
Спасибо но мне нужно удалить каталог с файлами Как это можно риализовать?
Вот ещё меня интересует такой вопрос : Как делать AutoRun для  CD диска на JAVA ??? 

Автор: powerOn 2.5.2006, 12:41
Цитата

Спасибо но мне нужно удалить каталог с файлами Как это можно риализовать?


Рекурсивный алгоритм: перебираешь все файлы в папке, если находишь файл, то удаляешь его, если находишь пустой каталог то удаляешь его, если находишь не пустой каталог, то выполняешь этот алгоритм для него, т.е  перебираешь все файлы в папке, если находишь...... а потом и саму папку корневую удаляешь.
 

Автор: Samuil 2.5.2006, 12:46
Спасибо MoonCat
Вот ещё меня интересует такой вопрос : Как делать AutoRun для  CD диска на JAVA ???  

Автор: Samuil 2.5.2006, 18:25
Возникла проблемма с int переменными в методе g.fillOval надо перевести int в double
int x;
int y; 
g.fillOval(606 + x / 2, 124 + y / 3, 5, 5);
Надо чтобы x и y делились на 2.5 (на дробное число)
Как это сделать smile  

Автор: powerOn 2.5.2006, 19:18

Цитата

Возникла проблемма с int переменными в методе g.fillOval надо перевести int в double


fillOval не использует double параметров, поэтому вероятно после деления, все равно придется приводить к int

примерчик:
Код

int x = 1;
int y = 1; 

double dx = x / 2.5;
double dy = y / 2.5;

g.fillOval( (int) dx, (int) dy,  5, 5);


и еще, Samuil,  под новые вопросы неплохо бы новые темы создавать  smile  

Автор: Samuil 2.5.2006, 21:07
Окей постараюсь не забыть MoonCat 

Автор: LSD 2.5.2006, 22:51
Цитата(Samuil @  2.5.2006,  13:46 Найти цитируемый пост)
Вот ещё меня интересует такой вопрос : Как делать AutoRun для  CD диска на JAVA ???

1. Перевести Java в native код, тема уже неоднократно обсуждалась поищи по форуму по словам JetExcelsior и GCJ.
2. Записать на CD JVM и запускать ее из bat файла. 

Автор: Samuil 3.5.2006, 11:10
Цитата

 Перевести Java в native код, тема уже неоднократно обсуждалась поищи по форуму по словам JetExcelsior и GCJ.


Да я работал с JetExcelsior но ведь если на компе не стоит она то прога не запустится. Соответственно нужно создавать пакет для него (тоже на JetExcelsior) smile  А зачем тогда нужно писать батник если будет открываться installShield? 

Автор: powerOn 3.5.2006, 20:49
Цитата

Да я работал с JetExcelsior но ведь если на компе не стоит она то прога не запустится. 


Запустится.  smile 
Можно создать exe и папку с библиотеками,  потом это содружество будет работать на любой машине, даже без JRE.
И еще там есть возможность создавать инсталятор для программы, в 2 вариантах:  с JRE и без неё.
К сожалению срок моего триального JetExcelsior уже истек и нет возмодности точно описать процесс создания, но насколько я помню, там целый пакет программ, одна из них создает проекты, а другая дистрибы. Так вот ту что дистирибы создает и надо смотреть...  

Автор: Samuil 4.5.2006, 12:33
Спсасибо а лекарства в нете нету разве по JetExcelsior? smile  

Автор: powerOn 4.5.2006, 13:02
[offtop]

Цитата

Спсасибо а лекарства в нете нету разве по JetExcelsior? smile   


А тебе что жалко каких-то 900 - 3000$ на лицензионную версию?  smile 

[/offtop] 

Автор: batigoal 4.5.2006, 13:24
А вот на эту тему правила форума беседовать запрещают... smile  

Автор: Samuil 4.5.2006, 13:30
А тебе MoonCat не жалко?

Добавлено @ 13:32 
Мне жалко А тебе MoonCat не жалко? smile  

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