Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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/7/user-interface/2.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
GUI中的Java文本框(基于文本的游戏)_Java_User Interface_Textbox - Fatal编程技术网

GUI中的Java文本框(基于文本的游戏)

GUI中的Java文本框(基于文本的游戏),java,user-interface,textbox,Java,User Interface,Textbox,我正在为学校制作一个程序,它应该是一个GUI,但我想让它更有趣。所以我决定把它做成一个基于文本的游戏。唯一的问题是,我不知道如何在屏幕上添加一个文本框,让它显示用户选项中发生的不同事件的文本。 代码就在这里,我想要一个文本框出现在战斗中,或去商店。如果你能帮忙,那就太好了 package src.main.derp.skdlfja; import java.awt.BorderLayout; import java.awt.Container; import ja

我正在为学校制作一个程序,它应该是一个GUI,但我想让它更有趣。所以我决定把它做成一个基于文本的游戏。唯一的问题是,我不知道如何在屏幕上添加一个文本框,让它显示用户选项中发生的不同事件的文本。 代码就在这里,我想要一个文本框出现在战斗中,或去商店。如果你能帮忙,那就太好了

    package src.main.derp.skdlfja;
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.ScrollPane;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import javax.swing.ImageIcon;
    import javax.swing.JCheckBoxMenuItem;
    import javax.swing.JFrame; 
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JRadioButtonMenuItem; 
    import javax.swing.JScrollPane; 
    import javax.swing.JTextArea;
    import javax.swing.JTextField;

    public class Menu extends Char{
    public boolean atk = false;
    public boolean talk = false;
    public boolean item = false;
    public boolean surrender = false;
    public boolean spare = false;
    public boolean atkScreen = false;

   JTextArea output;
   JScrollPane scrollPane;

   protected JTextField textField;
   protected JTextArea textArea;
   private final static String newline = "\n"; 

   public JMenuBar createMenuBar() {
    JMenuBar menuBar;
    JMenu menu, submenu;
    JMenuItem menuItem;
    JRadioButtonMenuItem rbMenuItem;
    JCheckBoxMenuItem cbMenuItem;

    menuBar = new JMenuBar();
    menu = new JMenu("Action Menu");
    menu.setMnemonic(KeyEvent.VK_A);
    menu.getAccessibleContext().setAccessibleDescription("Fighing Actions");
    menuBar.add(menu);
    menuItem = new JMenuItem("Attack", KeyEvent.VK_T);
    menu.add(menuItem);
    submenu = new JMenu("Talk");
    submenu.setMnemonic(KeyEvent.VK_S);
    menuItem = new JMenuItem("Check");
    submenu.add(menuItem);
    menuItem = new JMenuItem("Say Hi");
    submenu.add(menuItem);
    menuItem = new JMenuItem("");
    submenu.add(menuItem);
    menuItem = new JMenuItem("");
    submenu.add(menuItem);
    menu.add(submenu);
    submenu = new JMenu("Item");
    submenu.setMnemonic(KeyEvent.VK_S);

    menuItem = new JMenuItem("Health Bottle");

    submenu.add(menuItem);

    menuItem = new JMenuItem("Smoke Bomb");
    submenu.add(menuItem);
    menu.add(submenu);

    submenu = new JMenu("Spare/Flee");
    submenu.setMnemonic(KeyEvent.VK_S);

    menuItem = new JMenuItem("Spare");

    submenu.add(menuItem);

    menuItem = new JMenuItem("Flee");
    submenu.add(menuItem);
    menu.add(submenu);
    menu = new JMenu("Shop");
    menu.setMnemonic(KeyEvent.VK_N);

    submenu = new JMenu("Buy");
    submenu.setMnemonic(KeyEvent.VK_S);

    menuItem = new JMenuItem("Health Potion");
    submenu.add(menuItem);

    menuItem = new JMenuItem("Smoke Bomb");
    submenu.add(menuItem);

    menuItem = new JMenuItem("New Book");
    submenu.add(menuItem);

    menuItem = new JMenuItem("Old Shoes");
    submenu.add(menuItem);

    menu.add(submenu);

    menuItem = new JMenuItem("Kill",
            KeyEvent.VK_T);
    menu.add(menuItem);

    submenu = new JMenu("Talk");
    submenu.setMnemonic(KeyEvent.VK_S);

    menuItem = new JMenuItem("Hello, who are you?");
    submenu.add(menuItem);

    menuItem = new JMenuItem("How long have you been set shop here?");
    submenu.add(menuItem);

    menuItem = new JMenuItem("What is this place?");
    submenu.add(menuItem);

    menuItem = new JMenuItem("Why am I here?");
    submenu.add(menuItem);
    menu.add(submenu);
    menuBar.add(menu);
    return menuBar;
    }

    public Container createContentPane() {

    JPanel contentPane = new JPanel(new BorderLayout());
    contentPane.setOpaque(false);

    output = new JTextArea(5, 30);
    output.setEditable(false);
    scrollPane = new JScrollPane(output);

    contentPane.add(scrollPane, BorderLayout.CENTER);

    return contentPane;
    }
    protected static ImageIcon createImageIcon(String path) {
    java.net.URL imgURL = Menu.class.getResource(path);
    if (imgURL != null) {
        return new ImageIcon(imgURL);
    } else {
        System.err.println("Couldn't find file: " + path);
        return null;
    }
    }
    private static void createAndShowGUI() {

    JFrame frame = new JFrame("TBGRPG");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Menu demo = new Menu();
    frame.setJMenuBar(demo.createMenuBar());
    frame.setContentPane(demo.createContentPane());

    frame.setSize(450, 260);
    frame.setVisible(true);
    }
    public static void main(String[] args) {

    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            createAndShowGUI();
        }
    });
    }
    }

使用
JOptionPane

JOptionPane.showMessageDialog(null,"whatever text you want to show");

您是指要写入或显示文本的文本框?JTextField#getText和JTextField#setText。查看[如何使用文本字段]()了解更多详细信息是否有某个地方我必须将其放置?只要在需要显示文本时尝试该代码,就会弹出一个包含文本的消息对话框。