📜  阅读 java 阅读器 - Java (1)

📅  最后修改于: 2023-12-03 15:28:49.615000             🧑  作者: Mango

阅读 Java 阅读器 - Java

阅读 Java 阅读器是一款用 Java 语言开发的阅读软件,它可以让用户方便地阅读 Java 代码。

此阅读器使用 JavaFX 技术,提供了一系列功能,包括代码高亮、分屏阅读、搜索、书签等等。

功能
1. 代码高亮

代码高亮是阅读 Java 阅读器的基本功能之一。本阅读器使用了 JavaFX 自带的代码高亮功能,让用户可以轻松阅读 Java 代码。

例如下面这段代码:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

在阅读器中,它将以高亮的形式展现,让用户更方便地阅读代码。

2. 分屏阅读

分屏阅读是许多程序员所需要的功能之一。阅读 Java 阅读器支持分屏阅读,可以让用户在同一个窗口内同时阅读多个文件。

例如,在图片中,用户可以同时阅读 HelloWorld.java 和 MyClass.java 两个文件。

image

3. 搜索

搜索是许多程序员所需要的功能之一。阅读 Java 阅读器支持搜索,让用户可以轻松地查找他们需要的代码。

例如,如果用户想要查找一个名为 "Hello, world!" 的字符串,他们可以打开搜索框,并输入 "Hello, world!"。阅读器将会帮助用户查找代码中所有 "Hello, world!" 字符串的出现位置。

search_1

4. 书签

书签是许多程序员所需要的功能之一。阅读 Java 阅读器支持书签功能,让用户可以保存他们需要的代码,方便以后查看。

例如,如果用户想要保存一个名为 "Helper.java" 的文件,他们可以在菜单中选择 "书签" 并输入书签的名称。用户之后可以在书签列表中快速找到这个文件。

bookmarks_1

总结

阅读 Java 阅读器是一款功能丰富的 Java 阅读器,支持代码高亮、分屏阅读、搜索和书签等功能。无论你是 Java 新手还是 Java 高手,都可以使用此阅读器来更加方便地阅读 Java 代码。

代码片段
// JavaFX Application
public class Main extends Application {
	
	private static final String TITLE = "Java Reader";
	private static final double WIDTH = 1000.0;
	private static final double HEIGHT = 800.0;
	
	private final MainViewModel viewModel = new MainViewModel();
	
	@Override
	public void start(Stage primaryStage) {
		try {
			// Setup UI
			primaryStage.setTitle(TITLE);
			primaryStage.setWidth(WIDTH);
			primaryStage.setHeight(HEIGHT);
			
			final Scene scene = new Scene(buildUI(), WIDTH, HEIGHT);
			scene.getStylesheets().add(getClass().getResource("/styles/application.css").toExternalForm());
			
			primaryStage.setScene(scene);
			primaryStage.show();
			
			// Bind app title to current file
			Bindings.bindBidirectional(primaryStage.titleProperty(), viewModel.currentFileProperty(), new StringConverter<File>() {
				@Override
				public String toString(File file) {
					return file == null ? TITLE : String.format("%s (%s)", file.getName(), TITLE);
				}
				
				@Override
				public File fromString(String title) {
					return null;
				}
			});
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	private HBox buildUI() {
		final ReaderPane readerPane = new ReaderPane(viewModel);
		final SidebarPane sidebarPane = new SidebarPane(viewModel);
		
		return new HBox(readerPane, sidebarPane);
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}