java如何实现窗口
使用Swing创建窗口
在Java中,可以使用Swing库来创建图形用户界面(GUI)窗口。Swing提供了JFrame类,用于创建和管理窗口。
import javax.swing.JFrame;
public class MainWindow {
public static void main(String[] args) {
JFrame frame = new JFrame("窗口标题");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
设置窗口属性
窗口的属性可以通过JFrame的方法进行设置,包括大小、位置、关闭行为等。
frame.setTitle("新的窗口标题");
frame.setLocationRelativeTo(null); // 窗口居中显示
frame.setResizable(false); // 禁止调整窗口大小
添加组件到窗口
可以在窗口中添加各种Swing组件,如按钮、标签等。
import javax.swing.JButton;
import javax.swing.JLabel;
JButton button = new JButton("点击我");
JLabel label = new JLabel("这是一个标签");
frame.add(button);
frame.add(label);
使用布局管理器
布局管理器帮助控制组件在窗口中的排列方式。
import java.awt.FlowLayout;
frame.setLayout(new FlowLayout());
处理窗口事件
可以为窗口添加事件监听器,响应用户操作。
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.out.println("窗口正在关闭");
}
});
使用JavaFX创建窗口
JavaFX是另一种创建窗口的方式,提供了更现代的UI组件。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button("点击我");
Scene scene = new Scene(btn, 300, 250);
primaryStage.setTitle("JavaFX窗口");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
窗口样式设置
JavaFX允许更灵活的窗口样式设置。
primaryStage.setResizable(false);
primaryStage.setFullScreen(true);
场景图与控件
JavaFX使用场景图来组织UI控件。
import javafx.scene.layout.StackPane;
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
事件处理
JavaFX提供不同的事件处理机制。

btn.setOnAction(event -> {
System.out.println("按钮被点击");
});






