Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用JFrame显示字符串和读取输入?_Java_Swing_Jframe - Fatal编程技术网

Java 如何使用JFrame显示字符串和读取输入?

Java 如何使用JFrame显示字符串和读取输入?,java,swing,jframe,Java,Swing,Jframe,我想在窗口上显示此代码。现在它出现在Eclipse的底部,所以我计划在JFrame上显示它。有没有可能这样做 import java.util.Scanner; public class Helloworld { public static void main(String[] args) { System.out.println("INPUT A NUMER TO DISPLAY"); Scanner scan= new Scanner(Syste

我想在窗口上显示此代码。现在它出现在Eclipse的底部,所以我计划在
JFrame
上显示它。有没有可能这样做

import java.util.Scanner;

public class Helloworld {

    public static void main(String[] args) {
        System.out.println("INPUT A NUMER TO DISPLAY");

        Scanner scan= new Scanner(System.in);
        int num=scan.nextInt();

        System.out.println("THE ENTERED NUMBER IS "     +num);
    }
}

可以使用
JFrame
执行此操作。但是,因为它只是一个输入,所以可以使用
JOptionPane
轻松地完成

import javax.swing.JOptionPane;

public class Test {
    public static void main(String[] args) {

        String inputString = JOptionPane.showInputDialog(null, "INPUT A NUMER TO DISPLAY");
        int input = Integer.parseInt(inputString);
        System.out.println("User input: " + input);

        JOptionPane.showMessageDialog(null, "User entered " + input);

    }
}
这是一个使用JFrame的简单实现

import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class Test {

    public static void main(String[] args) {

        JFrame frame = new JFrame();
        frame.setSize(400, 400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Container container = frame.getContentPane();
        container.setLayout(new FlowLayout());

        JTextField textField = new JTextField();
        textField.setPreferredSize(new Dimension(150, 25));

        JLabel label = new JLabel("Input will appear here");

        JButton okButton = new JButton("OK");
        okButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                String input = textField.getText();
                System.out.println("Input: " + input);

                label.setText(input);
            }
        });

        container.add(textField);
        container.add(okButton);
        container.add(label);

        frame.setVisible(true);
    }
}

看看、或者更一般地说,您还可以看看1)应该在EDT上创建和操作Swing GUI。2) 富客户端/命令提示符应用程序的组合。通常提出的问题比解决的问题多。3) 我得到的印象是OP想要在帧本身上接受输入和显示输出。我想在jframe中这样做,因为我想增加帧的大小,但是system.out不在jframe中,我可以这样做吗?@JaisonJoseph:你可以在JLabel中显示输入(或处理后的输入)。我已经更新了代码。非常感谢亲爱的朋友,我是java的初学者,它对我帮助很大