首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java利用多线程和Socket制作GUI界面的在线聊天室

服务器端和用户端的主类都用到了内部类,因为毕竟容易获取主类的变量值,具体的类和方法介绍我就不仔细讲了,代码里面都有注释了,不懂看看注释,肯定不是因为我懒。...,上层放置连接区,下层放置消息区, 中间是消息面板,左边是room列表,右边是当前room的用户列表*...vertical, boolean isSys) { StyledDocument document = textPane.getStyledDocument(); /*获取textpane中的文本...,上层放置连接区,下层放置消息区,中间是消息面板,左边是系统消息,右边是当前room的用户列表*/ JPanel headpanel = new JPanel(); /*上层panel...ID和内容,搜寻当前客户端的用户中对应传来的用户ID的私聊窗口,将内容写进私聊窗口的文本域 * @Return * @Since 2020/6/6 */ public

8.6K84

AWT的Container容器

最后通过设置窗口可见,使窗口显示在屏幕上。 面板容器(Panel) 面板是一种特殊的容器,没有边框,不能独立存在和显示,必须作为组件添加到其他容器中:与窗体容器的特性不同。...panel.add(new TextField("测试文本"));:这是往Panel容器中添加一个TextField组件,用于显示和输入文本。...scrollPane.add(new TextField("测试文本"));:这是往ScrollPane容器中添加一个TextField组件,用于显示和输入文本。...程序明明向 ScrollPane 容器中添加了 一个文本框和一个按钮,但只能看到 一个按钮,却看不到文本框 ,这是为什么 呢?...这是因为ScrollPane 使用 BorderLayout 布局管理器的缘故,而 BorderLayout 导致了该容器中只有一个组件被显示出来 。

11810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Swing制作一个产生随机数的程序

    leftTextField: 用户输入左边界的文本框。 rightTextField: 用户输入右边界的文本框。 generateButton: 生成随机数的按钮。...displayTimeButton: 切换时间显示的按钮。 timeLabel: 显示当前时间的标签。 程序的主要逻辑在构造函数RandomNumberGenerator()中实现。...在构造函数中,我们设置了窗口的标题、大小和布局,并添加了输入面板、结果面板和按钮面板。 生成随机数 在按钮的ActionListener中,我们首先获取用户输入的左右边界值。...如果用户没有输入左边界,我们将左边界设为0;如果用户没有输入右边界,则默认将右边界设置为左边界加上100。此外,如果右边界小于左边界,我们会交换它们的值,以确保生成的随机数在用户指定的范围内。...时间显示功能 该程序还提供了可选的时间显示功能。通过点击"Toggle Time Display"按钮,用户可以在程序界面上切换显示当前时间的标签。

    4800

    JAVA入门学习十二

    通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写这很繁琐. 适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可....适配器类需要定义成抽象的,因为创建该类对象调用空方法是没有意义的 目的就是为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了....//类 public class TextField extends TextComponent //构造方法 TextField(String text, int columns) //构造一个与指定要显示的指定文本初始化的新文本字段...//继承了java.awt.TextComponent中的获取文本 String getText() //返回由该文本组件提交的文本。默认情况下,这是一个空字符串。...7.颜色字体 描述:颜色是Color类而字体是Font类; Color类用于封装的颜色在默认的sRGB色彩空间或颜色任意颜色空间的 ColorSpace鉴定,并且可以采用alpha指定显示的透明度 public

    1.1K10

    java-GUI编程之布局类型介绍

    AWT继承体系 Component:代表一个能以图形化方式显示出来,并可与用户交互的对象,例如 Button 代表一个按钮,TextField 代表 一个文本框等; MenuComponent:则代表图形界面的菜单组件...一个文本框和一个按钮,但只能看到 一个按钮,却看不到文本框 ,这是为什么 呢?...这是因为ScrollPane 使用 BorderLayout 布局管理器的缘故,而 BorderLayout 导致了该容器中只有一个组件被显示出来 。...如果要让我么的程序在不同的操作系统下,都有相同的使用体验,那么手动设置组件的位置和大小,无疑是一种灾难,因为有太多的组件,需要分别设置不同操作系统下的大小和位置。...其实很简单,我们只需要在原有的组件需要间隔的地方,添加间隔即可,而每个间隔可以是一个组件,只不过该组件没有内容,仅仅起到一种分隔的作用。

    1.7K10

    JAVA入门学习十二

    通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写这很繁琐. 适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可....适配器类需要定义成抽象的,因为创建该类对象调用空方法是没有意义的 目的就是为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了....//类 public class TextField extends TextComponent //构造方法 TextField(String text, int columns) //构造一个与指定要显示的指定文本初始化的新文本字段...//继承了java.awt.TextComponent中的获取文本 String getText() //返回由该文本组件提交的文本。默认情况下,这是一个空字符串。...7.颜色字体 描述:颜色是Color类而字体是Font类; Color类用于封装的颜色在默认的sRGB色彩空间或颜色任意颜色空间的 ColorSpace鉴定,并且可以采用alpha指定显示的透明度 public

    1.1K10

    【Java AWT 图形界面编程】LayoutManager 布局管理器总结 ( FlowLayout 布局 | BorderLayout 布局 | BoxLayout 布局 )

    文本框 和 Button 按钮 , 但是显示的时候效果如下 : 只显示了一个按钮 , 这是由于 ScrollPan 默认的 LayoutManager 布局管理器 导致的 ; 二、布局管理器提高程序的适配性...程序在不同平台的适配问题 , 如 : 在 Windows 中设置 100 px 的效果 , 与 在 Linux 中设置 200 px 的效果正好合适 ; 如果手动设置了组件的 宽高 , 位置 等精确的像素值...* * 行和cols中的一个(而不是两个)可以 * 为零,这意味着任何数量的物体都可以放置在 * 行或列。...new Panel(); // 该文本框可以存放 30 个字符 TextField textField = new TextField(30); panel.add...---- 为了 方便使用 BoxLayout 布局 , Swing 中提供了 Box 容器 ; Box 容器 默认的 布局管理器 就是 BoxLayout ; 通过在 Box 容器构造函数中传入不同的参数

    4.2K20

    java swing开发窗体程序开发(一)GUI编程

    大家好,又见面了,我是你们的朋友全栈君。...这些组件都继承至JComponent 常用的有 JTextField:单行文本输入 JTextArea:多行文本输入 JButton:按钮 JLabel:标签,用于显示提示信息 JCheckBox...JavaSwing中总共就定义了5层,从低到高,分别是 DEFAULT_LAYER,PALETTE_LAYER,MODAL_LAYER,POPUP_LAYER,DRAG_LAYER 同一位置,高层的会覆盖显示底层的...这些组件层叠的放在一起,只有最前面可以显示。 顺序并不是栈,而是队列,即第一个添加进去的组件,显示在最前面,后面的一次往后排。...且显示出来的组件将会占据该容器的所有空间 使用该种布局的容器在添加组件时 add(String s,Component c) s只是一个代号,方便以后显示这个组件时找到 cardlayout对象

    3K30

    Java中的图形界面编程-GUI

    欢迎到我的简书查看我的文集 前言: GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图形用户界面就是以图形的方式来显示你计算机的操作界面...在Java中GUI提供了对象在 java.awt 和 javax.swing 两个包中 在早年中, Java.awt为抽象窗口工具包, 英文为 Abstract Window ToolKit, 需要调用本地的系统方法来实现功能需求...有自己的显示效果, 显示自己的形状, 平台要求低了, 轻量级和体统嵌入的比较浅....继承关系 Component .png Button按钮,Label标签,Checkbox复选框,TextComponent文本组件,TextArea文本区域,TextField文本框....TextField tf = new TextField(40);                 //将组件添加到窗体中。

    2.1K20

    11 - JavaSE之GUI

    GUI 的各种元素(如:窗口,按钮, 文本框等)由 Java 类来实现。 使用 AWT 所涉及的类一般在 java.awt 包及其子包中。...(注意 Frame还继承了父类 Window 的成员方法,一些常用的方法在 Window 里面。)...---- 布局管理器 Java 语言中,提供了布局管理器类的对象可以管理 Component 在 Container 中的布局,不必直接设置 Component 位置和大小。...BorderLayout Panel 无法单独显示,必须添加到某个容器中,Panel 的缺省布局管理器为 FlowLayout....在实际的项目中看到一个很奇怪的现象,Java可以直接new一个接口,然后在new里面粗暴的加入实现代码。就像下面这样。那么问题来了,new出来的对象没有实际的类作为载体,这不是很奇怪吗?

    1.9K50

    TextField和Graphics类

    事件监听 TextField对象可能发生Action(光标在文本框内敲回车)事件。...对象的actionPerformed方法在方法中可以获取该对象的信息,并做相应的处理 import java.awt.*; import java.awt.event.*; public class TFActionEvent...} }  这段小程序最重要的部分在于,我需要将TFFrame类中的tf相关信息传到TFActionListener中,这样才能使用tf对象的一些方法,比方说获取其文本框的内容,修改其文本框的内容等等,但是...g.setColor(Color.green); g.fillRect(80,80,40,40); g.setColor(c); } }  主函数中并没有调用...paint方法,但是其实仔细看上面的说明就会知道,每次重画的时候都会自动调用paint方法,什么时候会重画,比方说先把这个窗口隐藏,然后再显示这个窗口,或者创建这个窗口的时候,都会重画。

    91120

    【Java AWT 图形界面编程】Container 容器总结

    图形界面风格 , 都与 Java 程序运行的平台相关 , 在 Windows 系统中运行 , 显示的是 Windows 界面的风格 , 在 Linux 系统运行 , 显示的是 Linux 界面风格..., 创建的按钮 Button button = new Button("测试按钮"); , 按钮文本为 " 测试按钮 " , 但是在 窗口中显示时 , 显示的乱码 : 这是因为 Java 程序代码的编码方式是...UTF-8 格式的编码 , 而 Windows 系统使用的是 GBK 格式的编码 ; 点击 IntelliJ IDEA 中 执行选项 中的 " Edit Configurations… " 选项 ,...; 八、ScrollPane 可滚动容器示例 ---- ScrollPane 可滚动容器 无法在 屏幕中独立存在 , 必须 依赖于 Frame 窗口而存在 ; 如果要 显示 ScrollPane 可滚动容器...按钮组件 , 文本组件被覆盖在了按钮组件后面 , 这与布局管理器有关 ;

    89910

    GUI(对话框Dialog)

    对话框不能单独存在,依赖于窗体,有显示标题,有模式 获取Dialog对象,new出来,构造参数:Frame对象,String的标题,模式 窗体内部的内容,Label对象,Button对象,调用Dialog...对象的add()方法,把这两个添加进去 Dialog也是一个普通的窗体,需要设置尺寸和位置 这个Dialog窗体不用加入到Frame窗体中,只需要设置是否显示就可以了 对话框的叉号,给对话框添加窗体事件...调用Dialog对象的addWindowListener()方法,设置,重写windowClosing()方法,方法里面调用Dialog对象setVisible(flase),隐藏掉 显示信息 调用Label...对象的setText()方法,设置文本 import java.awt.Button; import java.awt.Dialog; import java.awt.FlowLayout; import...()); tf = new TextField(20); button = new Button("转到"); ta = new TextArea(30

    72420

    HarmonyOS实战——TextField文本输入框组件基本使用

    TextField案例——获取文本输入框中的内容并进行Toast提示 通过TextField获取文本输入框中的内容并进行Toast提示 新建项目:TextFieldApplication ability_main...,这还是 TextField 文本输入框组件,只不过是背景色没有设置,让它跟布局的颜色一致了,看不到背景而已 [在这里插入图片描述] 3.3 气泡的设置 当用鼠标长按选中输入的内容后,就会选中内容,前面的光标和后面的光标...、右边,以及没有选中情况下的气泡 [在这里插入图片描述] 气泡的图片、颜色都是可以自定义的 以下用到的图片可自取:https://www.aliyundrive.com/s/wT22d1Vb1BV [在这里插入图片描述...TextField案例——长按查看密码明文 在一些APP中,登录界面密码输入框那里有个小眼睛,按住小眼睛后就可以看到密码的明文展示,松开小眼睛又恢复到密文状态了 [在这里插入图片描述] [在这里插入图片描述...组件默认是左边放置的,加上 ohos:layout_alignment="right"就是右边放置了,同时也给个ohos:right_margin="20vp"和右边的屏幕有些距离。

    1.5K20

    JComboBox和JTextField组件

    JComboBox类的常用方法 方法声明 功能描述 public JComboBox() 创建一个没有可选项的组合框 public JComboBox(Object[] items) 创建包含指定数组中的元素的...包括单行文本框组件(JTextField)、密码框组件(JPasswordField)和多行文本域组件(JTextArea),它们都继承自JTextComponent抽象类,这些组件在实际开发中应用广泛...文本框组件用来显示或编辑一个单行文本,在Swing中通过JTextField类创建,该类继承自JTextComponent类,JTextField类的构造方法如表12.11所示。...columns的新的空TextField public JTextField(String text) 创建一个用指定文本text的TextField public JTextField(String...text, int columns) 创建一个用指定文本text和列数columns的新 TextField 表12.11中列举出了JTextField类的构造方法,接下来通过案例来演示JTextField

    12110
    领券