java如何窗口输入
使用 Scanner 类进行控制台输入
Scanner 是 Java 中最常用的控制台输入工具,适用于简单的窗口输入需求。需要导入 java.util.Scanner 包。

import java.util.Scanner;
public class ConsoleInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入内容: ");
String input = scanner.nextLine(); // 读取整行输入
System.out.println("你输入的是: " + input);
scanner.close(); // 关闭资源
}
}
使用 JOptionPane 实现图形化窗口输入
如果需要弹出对话框窗口输入,可以使用 JOptionPane(需导入 javax.swing.JOptionPane)。

import javax.swing.JOptionPane;
public class DialogInput {
public static void main(String[] args) {
String input = JOptionPane.showInputDialog("请输入内容:");
System.out.println("你输入的是: " + input);
}
}
使用 BufferedReader 读取控制台输入
适用于需要高效处理输入流的情况,需结合 InputStreamReader 使用。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedInput {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入内容: ");
String input = reader.readLine();
System.out.println("你输入的是: " + input);
}
}
使用 JavaFX 或 Swing 创建自定义输入窗口
对于复杂的图形界面需求,可以通过 JavaFX 或 Swing 构建自定义窗口。以下是一个简单的 Swing 示例:
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CustomInputWindow {
public static void main(String[] args) {
JFrame frame = new JFrame("输入窗口");
JTextField textField = new JTextField(20);
JButton button = new JButton("提交");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(frame, "输入内容: " + textField.getText());
}
});
JPanel panel = new JPanel();
panel.add(textField);
panel.add(button);
frame.add(panel);
frame.setSize(300, 100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
注意事项
- 资源释放:使用
Scanner或BufferedReader后需手动关闭资源(如scanner.close())。 - 异常处理:
BufferedReader.readLine()可能抛出IOException,需捕获或声明抛出。 - 图形化依赖:
JOptionPane和 Swing 需要图形化环境支持,可能不适用于无界面的服务器环境。
根据需求选择合适的方法,控制台输入推荐 Scanner,图形化输入推荐 JOptionPane,复杂界面则使用 Swing/JavaFX。






