# 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` — настройки (поисковая система)
