Initial commit

This commit is contained in:
2026-01-14 15:36:52 +06:00
commit f17c1b42a2
21 changed files with 1101 additions and 0 deletions

87
README.md Normal file
View File

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