0
JFrame messenger = new JFrame("messenger");
messenger.setVisible(true);
messenger.pack();
messenger.setSize(new Dimension(250,175));

我正在为游戏制作聊天/消息发送者。没有真正的目的;我只是想扩展我对这个主题的了解。

到目前为止,显然,这在游戏之外绘制了一个框。耶!然而,我想要做的是有一个用户输入消息的文本字段,以及它下面的“发送”按钮。

我已经在 Google 上搜索了如何添加文本字段,但是,我找不到任何适合我的东西。什么都没有出现。

我该怎么做呢?

4

3 回答 3

2

这与其他答案相同,我只是添加了一个您想要的发送按钮。

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

    final JTextField textField = new JTextField();
    textField.setPreferredSize(new Dimension(200, 50));

    JButton button = new JButton("Send");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String message = textField.getText();
            System.out.println(message);
            // Send
        }

    });

    frame.setLayout(new BorderLayout());
    frame.add(textField, BorderLayout.NORTH);
    frame.add(button, BorderLayout.SOUTH);

    frame.pack();
    frame.setVisible(true);
于 2013-08-24T21:41:21.437 回答
1

下一次,请包括您完成的所有(或最具代表性的)测试,并非常具体地说明哪些没有奏效。你可能系统地犯了一个基本错误。在这里,您有 2 个选择(JTextField 和 JTextArea):

JFrame messenger= new JFrame("Text") ;
messenger.setSize(new Dimension(250,175));
JTextField textLine= new JTextField() ;
messenger.add(textLine,BorderLayout.SOUTH);
JTextArea textArea= new JTextArea(30, 80) ;
messenger.add(textArea,BorderLayout.CENTER);
messenger.pack();
messenger.setVisible(true);
于 2013-08-24T21:17:15.307 回答
0

查看有关“使用 Swing 组件”的教程。

JFrame有一个 getContentPane() 方法,可用于添加按钮、文本、标签等(简而言之)。

JFrame messenger = new JFrame("messenger");
JTextField tf = new JTextField();
tf.setOpaque(true);
tf.setColumn(30);
tf.setText("Some text");
tf.setBackground(new Color(248, 213, 131));
tf.setPreferredSize(new Dimension(200, 180));
messenger.getContentPane().add(tf, BorderLayout.CENTER);
messenger.setVisible(true);
messenger.pack();
messenger.setSize(new Dimension(250,175));
于 2013-08-24T21:16:18.250 回答