GUI Java: создание красивых и функциональных интерфейсов
GUI или графический интерфейс пользователя является важной частью приложений. В Java существует множество различных библиотек и фреймворков для создания графических интерфейсов, таких как Swing, JavaFX и SWT.
Swing является стандартным набором компонентов Java для создания графических интерфейсов. Он включает в себя классы для создания окон, кнопок, текстовых полей, таблиц, деревьев и т. д. Вот пример кода для создания простого окна с кнопкой:
import javax.swing.*;
public class MyWindow extends JFrame {
public MyWindow(String title) {
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton myButton = new JButton("Click me");
getContentPane().add(myButton);
pack();
setVisible(true);
}
public static void main(String[] args) {
new MyWindow("Hello world");
}
}
JavaFX - это более современный подход к созданию графических интерфейсов на Java, который предоставляет различные обзорные панели, таблицы, мультимедийные элементы и т. д. Вот пример кода для создания окна с текстовым полем и кнопкой:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class MyWindow extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
TextField myTextField = new TextField();
Button myButton = new Button("Click me");
myButton.setOnAction(e -> System.out.println("Hello " + myTextField.getText()));
VBox root = new VBox(myTextField, myButton);
Scene scene = new Scene(root, 300, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
SWT (Standard Widget Toolkit) - это библиотека для создания графических интерфейсов, которая была разработана компанией IBM и в настоящее время поддерживается Eclipse Foundation. Он предлагает множество виджетов, включая виджет дерева, таблицы, диалоговые окна и т. д. Вот пример кода для создания окна с кнопкой:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
public class MyWindow {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Hello world");
Button myButton = new Button(shell, SWT.PUSH);
myButton.setText("Click me");
myButton.pack();
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
В зависимости от конкретной задачи и требований к графическому интерфейсу, можно выбрать одну из библиотек для разработки на Java.