88 lines
3.3 KiB
Markdown
88 lines
3.3 KiB
Markdown
# Java Browser
|
||
|
||
Полнофункциональный веб-браузер на Java с JavaFX.
|
||
|
||
## Возможности
|
||
|
||
- 🎨 Красивая стартовая страница с градиентным дизайном
|
||
- 🔍 Выбор поисковой системы (Google, Yandex, DuckDuckGo, Bing)
|
||
- ⭐ Система закладок с сохранением
|
||
- 📜 История посещений (до 100 записей)
|
||
- 📑 Множественные вкладки
|
||
- ⚡ Оптимизированная загрузка страниц
|
||
- 💾 Автосохранение всех данных
|
||
|
||
## Требования
|
||
|
||
- Java 17 или выше
|
||
- Maven 3.6+
|
||
|
||
## Запуск
|
||
|
||
### Через Maven (рекомендуется):
|
||
```bash
|
||
mvn clean javafx:run
|
||
```
|
||
|
||
### Через JAR:
|
||
```bash
|
||
mvn clean package
|
||
java -jar target/java-browser-1.0-SNAPSHOT.jar
|
||
```
|
||
|
||
## Управление
|
||
|
||
### Навигация
|
||
- **◀ ▶** — Навигация назад/вперёд
|
||
- **⟳** — Обновить страницу
|
||
- **🏠** — Вернуться на стартовую страницу
|
||
- **★** — Добавить текущую страницу в закладки
|
||
- **☰** — Открыть/закрыть панель с закладками и историей
|
||
- **+** — Создать новую вкладку
|
||
|
||
### Управление окном
|
||
- **□** — Развернуть/восстановить окно на весь экран
|
||
- Окно можно свободно изменять в размере, перетаскивая края
|
||
- Стандартные кнопки Windows для сворачивания и закрытия работают как обычно
|
||
|
||
### Закрытие браузера
|
||
При закрытии окна появится диалог с тремя вариантами:
|
||
- **Свернуть** — минимизировать окно в панель задач
|
||
- **Выйти** — полностью закрыть браузер
|
||
- **Отмена** — продолжить работу
|
||
|
||
## Оптимизации
|
||
|
||
- Кэширование WebView для быстрой загрузки
|
||
- Асинхронная обработка навигации
|
||
- Оптимизированный User-Agent
|
||
- Фильтрация служебных URL в истории
|
||
- Ограничение истории до 100 записей
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
src/
|
||
├── main/
|
||
│ ├── java/com/browser/
|
||
│ │ ├── BrowserApp.java # Главный класс приложения
|
||
│ │ ├── BrowserController.java # Контроллер UI и логики
|
||
│ │ ├── DataManager.java # Управление данными
|
||
│ │ └── Launcher.java # Launcher для JAR
|
||
│ └── resources/
|
||
│ └── styles/
|
||
│ └── browser.css # Стили интерфейса
|
||
└── pom.xml # Maven конфигурация
|
||
```
|
||
|
||
## Хранение данных
|
||
|
||
Все данные сохраняются в:
|
||
- Windows: `C:\Users\[username]\.javabrowser\`
|
||
- Linux/Mac: `~/.javabrowser/`
|
||
|
||
Файлы:
|
||
- `bookmarks.json` — закладки
|
||
- `history.json` — история
|
||
- `settings.json` — настройки (поисковая система)
|