Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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
Java聊天客户端jtextfield与jtextarea_Java_User Interface_Jtextfield_Jtextarea - Fatal编程技术网

Java聊天客户端jtextfield与jtextarea

Java聊天客户端jtextfield与jtextarea,java,user-interface,jtextfield,jtextarea,Java,User Interface,Jtextfield,Jtextarea,我正在编写一个简单的服务器聊天客户端,使用gui制作聊天盒等等。我只是想知道如果有人想写一条长消息,我是否应该使用jtextarea而不是jtextfield,因为jtextfield不允许换行 如果我使用jtextfield的jtextarea,这有关系吗?或者是否有特定的原因不使用jtextarea作为我的输入框?我的猜测: 您可能需要JTextField和JTextArea或其他多行文本组件。 JTextField将供用户输入要发送的聊天信息。它将是可编辑的。 JTextArea将显示传入

我正在编写一个简单的服务器聊天客户端,使用gui制作聊天盒等等。我只是想知道如果有人想写一条长消息,我是否应该使用jtextarea而不是jtextfield,因为jtextfield不允许换行

如果我使用jtextfield的jtextarea,这有关系吗?或者是否有特定的原因不使用jtextarea作为我的输入框?

我的猜测:

您可能需要JTextField和JTextArea或其他多行文本组件。 JTextField将供用户输入要发送的聊天信息。它将是可编辑的。 JTextArea将显示传入的聊天以及用户发送的聊天。它将不可编辑。 考虑将jTeTaReA放置在JScLabeNe中 考虑将两个都放置在边框中,容器使用JSLRANGANE,JStRePALE将放置在中心位置的JTXTaReA和JTeXField放置在南部位置。 我猜:

您可能需要JTextField和JTextArea或其他多行文本组件。 JTextField将供用户输入要发送的聊天信息。它将是可编辑的。 JTextArea将显示传入的聊天以及用户发送的聊天。它将不可编辑。 考虑将jTeTaReA放置在JScLabeNe中 考虑将两个都放置在边框中,容器使用JSLRANGANE,JStRePALE将放置在中心位置的JTXTaReA和JTeXField放置在南部位置。
JTextField更容易使用。您可以向其添加ActionListener,以便在用户点击enter时可以调用该操作,并发送消息。当然,你仍然可以有一个发送按钮。用户也可以单击


对于JTextArea,Enter键将添加一个新行,因此如果希望用户在使用Enter时能够发送文本,则需要自定义处理,可能需要使用键绑定。我更喜欢文本区域,因为我希望看到尽可能多的文本,就像我现在回答这个问题时所做的那样。

JTextField更容易使用。您可以向其添加ActionListener,以便在用户点击enter时可以调用该操作,并发送消息。当然,你仍然可以有一个发送按钮。用户也可以单击


对于JTextArea,Enter键将添加一个新行,因此如果希望用户在使用Enter时能够发送文本,则需要自定义处理,可能需要使用键绑定。我更喜欢文本区域,因为我希望看到尽可能多的文本,就像我现在回答这个问题一样。

来自oracle文档和个人经验,由于默认设置了ActionEventListener,JTextField使生活变得更加轻松,因此字段中的ActionSchracter或文本集被复制到JTextArea,这就像在字段中执行的活动日志

所以球在你的场地上。您可以将它与JTextArea或单独使用JTextArea一起使用,编写侦听器类以满足您的目的,并且一定要添加一个可侦听事件,例如按钮


此外,请始终指定字段的大小,以避免可能影响应用程序Ui的布局问题,因为如果未正确指定大小,则始终会动态调整大小

根据oracle文档和个人经验,JTextField使生活更加轻松,因为默认情况下设置了ActionEventListener,因此字段中的ActionSchracter或文本集被复制到JTextArea,这就像在该字段中执行的活动日志一样

所以球在你的场地上。您可以将它与JTextArea或单独使用JTextArea一起使用,编写侦听器类以满足您的目的,并且一定要添加一个可侦听事件,例如按钮


此外,请始终指定字段的大小,以避免可能影响应用程序Ui的布局问题,因为如果未正确指定大小,则始终会动态调整大小

我已经全部写好了,只是想知道你们建议写什么:,谢谢你们的支持opinion@LittleChild:是的,这可能很好,因为你可以为不同的聊天内容使用不同的颜色或字体。@KurtE:我建议你编写代码,任何代码。不要油嘴滑舌,但您需要写出需求,然后尝试在代码中一步一步地实现它们。@KurtE,然后继续JTextPane@HovercraftFullOfEels这是对的。如果您的需求没有得到很好的理解,那么最终会出现很多bug。此外,确保它们是彻底的,不要中途改变主意,因为这也会导致更多的错误。更改和不正确理解规范是导致bugsI的主要原因。我已经把它全部写出来了,只是想知道你们都建议写些什么:,谢谢你们的支持opinion@LittleChild:是的,这可能会很好,因为你可以使用不同的颜色或字体来处理不同的聊天内容。@KurtE:我建议你写出来
g代码,任何代码。不要油嘴滑舌,但您需要写出需求,然后尝试在代码中一步一步地实现它们。@KurtE,然后继续JTextPane@HovercraftFullOfEels这是对的。如果您的需求没有得到很好的理解,那么最终会出现很多bug。此外,确保它们是彻底的,不要中途改变主意,因为这也会导致更多的错误。更改和不正确理解规范是导致错误的主要原因