当前位置:

首页 > 编程开发 > Java聊天窗口的创建流程是什么

Java聊天窗口的创建流程是什么

本文目录

    Swing组件JPanelJPanel和AWT中的Panel组件使用方法基本一致,是一个无边框,不能被移动,放大,缩小,或者关闭面板,它的默认布局管理器是FlowLayout,也可以用JPanel带参数的构造函数JPanel(LayoutManagerlayout)或者它的setLayout()方法为其制定布局管理器。JScrollPaneJScrollPane是一个带有滚动条的面板容器,而且这个面板只能添加一个组件,如果想在面板中添加多个组件,要把组件添加到JPanel中,然后将JPanel添加到JSc

      Swing组件

      JPanel

      JPanel和AWT中的Panel组件使用方法基本一致,是一个无边框,不能被移动,放大,缩小,或者关闭面板,它的默认布局管理器是FlowLayout,也可以用JPanel带参数的构造函数JPanel(LayoutManager layout)或者它的setLayout()方法为其制定布局管理器。

      JScrollPane

      JScrollPane是一个带有滚动条的面板容器,而且这个面板只能添加一个组件,如果想在面板中添加多个组件,要把组件添加到JPanel中,然后将JPanel添加到JScrollPane中。

      JScrollPane的常用构造方法

       JScrollPane()//创建一个空的JScrollPane面板
       JScrollPane(Component view)//创建一个显示指定组件的JScrollPane面板,只要组件的内容超过视图大小就会显示水平和垂直滚动条
       JScrollPane(Component view,int vsbPolicy,int hsbPolicy)//创建一个显示指定容器并具有指定滚动条策略的JScrollPane。参数vsbPolicy和hsbPolicy分别表示垂直滚动条策略和水平滚动条策略,指定为SCrollPaneConstants的静态常量。

      JScrollPane的方法

       void setHorizontalBarPolicy(int policy)//指定水平滚动条策略,即水平滚动条何时显示在滚动面板上     void setVerticalBarPolicy(int policy)//指定垂直滚动条策略,即垂直滚动条何时显示在滚动面板上     void setViewportView(Component view)//设置在滚动面板显示的组件 void setHorizontalBarPolicy(int policy)//指定水平滚动条策略,即水平滚动条何时显示在滚动面板上
           void setVerticalBarPolicy(int policy)//指定垂直滚动条策略,即垂直滚动条何时显示在滚动面板上
           void setViewportView(Component view)//设置在滚动面板显示的组件

      如何向容器中添加按钮

       package Swing;
       import javax.swing.*;
       import java.awt.*;
       public class Example02 extends JFrame{
           public Example02(){
               this.setTitle("PanelDemo");
               //创建一个滚动面板
               JScrollPane scrollPane=new JScrollPane();
               //设置水平滚动条策略,---滚动条一直显示
               scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
               //设置垂直滚动条策略----滚动条需要时显示
               scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
               //定义一个面板
               JPanel panel=new JPanel();
               panel.add(new JButton("按钮一"));
               panel.add(new JButton("按钮二"));
               panel.add(new JButton("按钮三"));
               panel.add(new JButton("按钮四"));
               //设置JPanel面板在滚动面板中显示
               scrollPane.setViewportView(panel);
               //将滚动面板添加到内容面板的中心区域
               this.add(scrollPane, BorderLayout.CENTER);
               //将一个按钮添加到内容面板的SOUTH区域
               this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               this.setSize(400,250);
               this.setVisible(true);
           }
           public static void main(String[] args) {
               new Example02();
           }
       }

      Java聊天窗口的创建流程是什么

      文本组件

      文本组件用于接收用户输入的信息或向用户展示信息,包括文本框(JtexField),文本域(JtexArea),它们有一个共同的父类JTextComponent。这是一个抽象类,提供了文本组件常用的方法。

      文本组件的常用方法

      方法描述功能说明
      String getText()返回文本组件中所有的文本内容
      String getSeletedText()返回文本组件中选定的文本内容
      void selectAll()在文本组件中选中所有内容
      void setEditable()设置文本组件为可编辑或不可编辑状态
      void setText(String text)设置文本组件的内容
      void replaceSelection(String content)用给定的内容替换当前选中的内容

      文本框(JTextField)

      只能接收单行文本的输入,文本框常用的构造方法

      方法描述功能说明
      JTextField()创建一个空的文本框,初始字符串为null
      JTextField(int columns)创建一个具有指定列数的文本框,初始字符串为null
      JTextField(String text)创建一个显示指定初始字符串的文本框
      JTextField(String text,intcolumn)创建一个具有指定列数并显示指定初始字符串的文本框

      文本域(JTextArea)

      能接收多行的文本输入,可以设置区域的行数和列数,常用的构造方法

      方法描述功能说明
      JTextArea(String text)创建显示指定初始字符串的文本域
      JTextArea()创建一个空的文本域
      JTextArea(int rows,int columns)创建具有指定行和列的空的文本域
      JTextArea(String text,int rows,int columns)创建显示指定初始文本并指定了行列的文本域

      聊天窗口示例

       package Swing; 
       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.ActionEvent;
       import java.awt.event.ActionListener;
       public class LiaoTian extends Frame {
           JButton sendBt;
           JTextField inputField;
           JTextArea chatContent;
           public LiaoTian(){
            this.setLayout(new BorderLayout());
            //创建一个文本域
            chatContent=new JTextArea(12,34);
            //创建一个滚动面板,将文本域作为显示条件
            JScrollPane showPanel=new JScrollPane(chatContent);
            //设置文本域为不可编辑
            chatContent.setEditable(false);
            //创建一个面板
            JPanel inputPanel=new JPanel();
            //创建一个文本框
            inputField =new JTextField(20);
            //创建一个发送按钮
            sendBt=new JButton("发送");
            //为按钮添加事件
            sendBt.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    //获取输入的信息
                    String content=inputField.getText();
                    //判断输入的信息是否为空
                    if(content!=null&&!content.trim().equals("")){
                        chatContent.append("本人:"+content+"\n");
                    }else{
                        chatContent.append("聊天信息不能为空"+"\n");
                    }
                    inputField.setText("");
                }
            });
            //创建一个标签
            Label label=new Label("聊天信息");
            //将标签添加到Jpanel面板
            inputPanel.add(label);
            //将按钮添加到Jpanel面板
            inputPanel.add(inputField);
            //将滚动面板和JPanel面板添加到JFrame窗口
            inputPanel.add(sendBt);
            this.add(showPanel,BorderLayout.CENTER);
            this.add(inputPanel,BorderLayout.SOUTH);
            this.setTitle("聊天窗口");
            this.setSize(400,300);
            this.setVisible(true);
           }
           public static void main(String[] args) {
               new LiaoTian();
           }
       }

      运行结果

      Java聊天窗口的创建流程是什么

      由上可知,我们可以通过JFrame模拟一个简单的窗口,先通过BorderLayout布局管理器将窗口分为两个区域,然后再center区域放入了一个JScrollPane滚动面板,在滚动面板中添加了一个JTextArea文本域,用于显示聊天记录,south区域放置了一个JPanel面板,在JPanel面板中放置了三个组件,JLabel标签用于信息说明,JTextField文本框用于输入用户的聊天信息,JButton按钮用于发送聊天信息。在这里使用的JLabel组件是一个静态的组件,用于显示一行静态的文本和图标,它的作用是信息说明,不接受用户的输入,也不能添加事件。

      本文内容来源于网友投稿,如有侵权请联系删除。
      作者最新文章
      编程开发 Java
      相关文章 更多
      链表删除节点的时间复杂度是多少及其详细分析
      链表删除节点的时间复杂度是多少及其详细分析

      详细分析链表删除节点的时间复杂度,深入探讨单链表与双向链表在不同已知前提下的查找与删除开销,并结合完整代码与清晰图解进行对比总结。

      codex如何配置模型参数及文件设置教程
      codex如何配置模型参数及文件设置教程

      想知道如何让AI写出的代码更贴合你的习惯?本文手把手教你在VS Code中调整Codex相关模型参数,通过修改配置文件优化温度值和令牌限制,解决代码建议不准确或响应慢的问题。

      Claude Code AI编程工具实力揭秘与编程助手实测
      Claude Code AI编程工具实力揭秘与编程助手实测

      通过实测展示Claude Code在终端中如何理解自然语言指令、自动修改代码文件并处理复杂编程任务,帮助开发者评估其实际辅助能力。

      winforms教程自学入门与基础开发步骤详解
      winforms教程自学入门与基础开发步骤详解

      本教程详细讲解如何使用Visual Studio创建WinForms项目,通过添加按钮和标签控件并编写点击事件代码,实现一个基础的计数器功能,适合C#初学者快速上手Windows窗体应用开发。

      Cursor自动补全设置教程教你快速开启代码补全功能
      Cursor自动补全设置教程教你快速开启代码补全功能

      详解Cursor编辑器中自动补全功能的开启与优化设置,涵盖Tab触发机制、上下文窗口调整及模型切换,帮助开发者解决补全延迟、干扰大等问题,提升编码流畅度。

      pandas的数据格式怎么转换和设置方法教程
      pandas的数据格式怎么转换和设置方法教程

      详解Pandas中数据格式转换的核心方法,包括astype强制转换、to_numeric容错处理及日期解析技巧,解决常见类型错误并提升数据处理效率。

      VS Code中文设置方法 简体语言包安装与切换教程
      VS Code中文设置方法 简体语言包安装与切换教程

      详细介绍在Visual Studio Code中安装Chinese (Simplified)语言包的方法,包括通过扩展市场搜索、安装及自动重启切换至简体中文界面的完整步骤,帮助开发者快速将编辑器本地化。

      cursor安装过程无法更改安装位置的解决方法
      cursor安装过程无法更改安装位置的解决方法

      针对Cursor安装包默认锁定C盘且无路径选择界面的问题,提供通过手动移动文件并创建目录联结(Symbolic Link)的解决方案,实现将软件安装在其他磁盘分区。

      rust下载安装教程详解及Windows环境配置方法
      rust下载安装教程详解及Windows环境配置方法

      详解Windows系统下Rust语言的安装步骤,重点解析rustup工具链管理机制,解决环境变量配置错误及MSVC链接器缺失问题,提供可复制的命令验证方法与常见报错的因果排查思路。

      vs code怎么配置 chat实用设置教程步骤
      vs code怎么配置 chat实用设置教程步骤

      详解VS Code中Chat插件的安装与核心配置步骤,重点解决API连接失败、响应慢等常见问题,通过优化上下文设置提升代码生成质量,适合希望集成AI辅助工具的开发者阅读。

      查看更多
      精品专题 更多
      装机必备
      装机必备

      正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

      Windows
      Windows

      正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

      macOS软件
      macOS软件

      正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

      Mac软件 更多
      photoshop
      photoshop
      Windows、macOS 、 iPad

      Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

      Blender
      Blender
      Windows、macOS 和 Linux

      Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

      灵活计算器
      灵活计算器
      macOS/iOS/Android

      灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

      WINDOWS 更多
      3dmax(3ds max)
      3dmax(3ds max)
      Windows

      Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

      photoshop
      photoshop
      Windows、macOS 、 iPad

      Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

      Blender
      Blender
      Windows、macOS 和 Linux

      Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。