Java聊天客户端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放置在南部位置。Java聊天客户端jtextfield与jtextarea,java,user-interface,jtextfield,jtextarea,Java,User Interface,Jtextfield,Jtextarea,我正在编写一个简单的服务器聊天客户端,使用gui制作聊天盒等等。我只是想知道如果有人想写一条长消息,我是否应该使用jtextarea而不是jtextfield,因为jtextfield不允许换行 如果我使用jtextfield的jtextarea,这有关系吗?或者是否有特定的原因不使用jtextarea作为我的输入框?我的猜测: 您可能需要JTextField和JTextArea或其他多行文本组件。 JTextField将供用户输入要发送的聊天信息。它将是可编辑的。 JTextArea将显示传入
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。此外,确保它们是彻底的,不要中途改变主意,因为这也会导致更多的错误。更改和不正确理解规范是导致错误的主要原因