21xrx.com
2024-11-22 22:25:45 Friday
登录
文章检索 我的文章 写文章
我最喜欢的 Java 窗口界面设计实例
2023-06-10 09:13:00 深夜i     --     --

作为一名 Java 程序员,我十分热爱 Java 窗口界面设计,因为它可以让我的程序更加容易操作和更加人性化。在这里,我想分享三个我最喜欢的 Java 窗口界面设计实例,它们都非常实用和易学。

第一个例子是利用 JavaFX 实现一个简单的登录界面,代码如下:


import javafx.application.Application;

import javafx.geometry.Insets;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.control.PasswordField;

import javafx.scene.control.TextField;

import javafx.scene.layout.GridPane;

import javafx.stage.Stage;

public class Login extends Application {

  @Override

  public void start(Stage primaryStage) {

    primaryStage.setTitle("Login");

    GridPane grid = new GridPane();

    grid.setPadding(new Insets(10, 10, 10, 10));

    grid.setVgap(5);

    grid.setHgap(5);

    TextField user = new TextField();

    user.setPromptText("Username");

    user.setPrefColumnCount(10);

    user.getText();

    PasswordField pass = new PasswordField();

    pass.setPromptText("Password");

    Button loginBtn = new Button("Login");

    grid.add(loginBtn, 1, 3);

    Scene scene = new Scene(grid, 300, 275);

    primaryStage.setScene(scene);

    primaryStage.show();

  }

  public static void main(String[] args) {

    launch(args);

  }

}

第二个例子是使用 Java Swing 实现一个简单的文本编辑器,代码如下:


import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

public class TextEditor extends JFrame {

  private JTextArea textArea = new JTextArea(20, 40);

  public TextEditor() {

    JScrollPane scrollPane = new JScrollPane(textArea);

    add(scrollPane, BorderLayout.CENTER);

    JMenuBar menuBar = new JMenuBar();

    setJMenuBar(menuBar);

    JMenu fileMenu = new JMenu("File");

    menuBar.add(fileMenu);

    JMenuItem saveMenuItem = new JMenuItem("Save");

    fileMenu.add(saveMenuItem);

    saveMenuItem.addActionListener(new ActionListener() {

      @Override

      public void actionPerformed(ActionEvent event) {

        JFileChooser fileChooser = new JFileChooser();

        if (fileChooser.showSaveDialog(TextEditor.this) == JFileChooser.APPROVE_OPTION) {

          try {

            BufferedWriter writer = new BufferedWriter(new FileWriter(fileChooser.getSelectedFile()));

            writer.write(textArea.getText());

            writer.close();

          } catch (IOException e) {

            e.printStackTrace();

          }

        }

      }

    });

    pack();

    setTitle("Text Editor");

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setLocationRelativeTo(null);

    setVisible(true);

  }

  public static void main(String[] args) {

    new TextEditor();

  }

}

第三个例子是使用 JavaFX 实现一个网络图片查看器,代码如下:


import javafx.application.Application;

import javafx.geometry.Insets;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.control.TextField;

import javafx.scene.image.Image;

import javafx.scene.image.ImageView;

import javafx.scene.layout.HBox;

import javafx.scene.layout.VBox;

import javafx.scene.text.Font;

import javafx.stage.Stage;

import java.io.InputStream;

import java.net.URL;

public class ImageViewer extends Application {

  @Override

  public void start(Stage primaryStage) {

    primaryStage.setTitle("Image Viewer");

    VBox vbox = new VBox();

    vbox.setPadding(new Insets(10));

    vbox.setSpacing(10);

    HBox hbox = new HBox();

    hbox.setSpacing(10);

    TextField urlText = new TextField();

    urlText.setFont(Font.font(14));

    urlText.setPromptText("Enter image URL");

    Button loadBtn = new Button("Load");

    loadBtn.setFont(Font.font(14));

    hbox.getChildren().addAll(urlText, loadBtn);

    vbox.getChildren().add(hbox);

    ImageView imageView = new ImageView();

    InputStream inputStream = getClass().getResourceAsStream("placeholder-image.png");

    Image image = new Image(inputStream);

    imageView.setImage(image);

    vbox.getChildren().add(imageView);

    loadBtn.setOnAction(event -> {

      try {

        URL url = new URL(urlText.getText());

        InputStream stream = url.openStream();

        Image img = new Image(stream);

        imageView.setImage(img);

      } catch (Exception e) {

        e.printStackTrace();

      }

    });

    Scene scene = new Scene(vbox, 400, 400);

    primaryStage.setScene(scene);

    primaryStage.show();

  }

  public static void main(String[] args) {

    launch(args);

  }

}

以上三个例子都是我在日常开发中非常常用的窗口界面设计实例,它们都用到了 Java 的核心技术,如 JavaFX 和 Java Swing 等。如果你也热爱 Java 窗口界面设计,可以参考以上例子来提升自己的技术水平。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复