59.【初识JFrame和数据库——聊天系统】(一)

简介: 59.【初识JFrame和数据库——聊天系统】

1.JFrame

JFrame是指一个计算机语言-java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。相当于继承了frame ,MouseListener,WindoeListener.三个类。

2.常用图形用户界面的组件类:

javax.

按钮类: JButton (显示按钮)

文本域类 : JLabel (显示文字)

文本框输入类: JTextField (单行文本框)

JTextArea (多行文本框)

JPassworldField (密码框)

选择按钮框:JCheckBox(单选) JRdioButton(复选框)

列表类:JComboBox JList

菜单类:JMenu JMenuBar

3.Java的几种布局方式

如果我们不设置布局管理器,默认的就是BorderLayout.而在add的时候如果不指定位置,就是中间。

import javax.swing.*;
import java.awt.*;
public class hello {
    public static void main(String []avgs){
       //创建JFrame
        JFrame j=new JFrame("按钮");  
        j.setSize(800,800);
        j.setLocationRelativeTo(null);
        //进行组件设置
        JButton jb=new JButton("a0");
        JButton jb1=new JButton("a1");
        JButton jb2=new JButton("a2");
        JButton jb3=new JButton("a3");
        JButton jb4=new JButton("a4");
    //在框体上布局
//        j.setLayout(new BorderLayout());   
//        j.add(jb,BorderLayout.NORTH);
//        j.add(jb1,BorderLayout.SOUTH);
//        j.add(jb2,BorderLayout.WEST);
//        j.add(jb3,BorderLayout.EAST);
//        j.add(jb4,BorderLayout.CENTER);
        //表格布局
//            j.setLayout(new GridLayout(3,2));  //行列
//            j.add(jb);
//            j.add(jb1);
//            j.add(jb2);
//            j.add(jb3);
//            j.add(jb4);
        //流布局
            j.setLayout(new FlowLayout());
            j.add(jb);
            j.add(jb1);
            j.add(jb2);
            j.add(jb3);
            j.add(jb4);
        j.setVisible(true);
    }
}

框体布局:(假如说框体布局不加eat west nother,south.那么就会按照顺序从左到右,从上到下的顺序输出)

表格布局:

流布局(行):在能够显示的情况下,尽可能地缩小显示组件,在默认的情况下,第一个放在最上一行的中间;在有多个的情况下,从左到右,整体在中间,第一行放不下,放到第二行。

4.登入界面:

按钮的组合规则:Jpane的对象可以放在JFrame的对象上,而且JPane的对象也可以放在另外的JPane对象上。这样可以一层层的结合。super和this一样都是引用,区别是this指向当前类的对象,而super指向当前类的父类的对象,这个结论隐藏了一个事实,就是我们new hello的时候,系统会自动new Jpanel ,内存里汇通步产生父类的对象。

import javax.swing.*;
import java.awt.*;
public class hello {
    public static void main(String []avgs){
        JFrame JF=new JFrame("登入界面");
        JF.setSize(400,400);  //长宽
        JF.setLocationRelativeTo(null);   //居中
        //设置按钮组件
        JLabel UserLab=new JLabel("用户账号");
       JLabel PassLab=new JLabel("密码");
        JButton Login=new JButton("登入");
        JButton Reg=new JButton("注册");
        JButton Remove=new JButton("退出");
        //设置文本文框
        JTextField UserText=new JTextField();
       JPasswordField PassText=new JPasswordField();
        //设置画板对标签进行输入位置变化
        JPanel JIt=new JPanel();
        JIt.setLayout(new GridLayout(2,2));
        JIt.add( UserLab);
        JIt.add(UserText);
        JIt.add(PassLab);
        JIt.add(PassText);
        //设置画板堆按钮进行位置转换
        JPanel Bu=new JPanel();
        Bu.setLayout(new FlowLayout());
        Bu.add(Login);
        Bu.add(Reg);
        Bu.add(Remove);
        //进行整合
        JF.setLayout(new BorderLayout());
        JF.add(JIt,BorderLayout.NORTH);
        JF.add(Bu,BorderLayout.SOUTH);
        JF.setVisible(true);             //可见
    }
}

5.聊天界面

多选类: JComBox
滑动类: JSrollPane
当我们运用组合类的时候,他是一个结合体
当我们运用滑动类的时候,要初始化它是谁的滑动框
import javax.swing.*;
import java.awt.*;
public class hello {
    public static void main(String []avgs){
        JFrame JF=new JFrame("登入界面");
        JF.setSize(400,400);  //长宽
        JF.setLocationRelativeTo(null);   //居中
        //设置按钮框
        JButton Send=new JButton("发送");
        JComboBox List=new JComboBox();    //当设置多选框的时候,多选框自己带一个组件
     List.addItem("张三");
        List.addItem("李四");
        List.addItem("王二");
        //设置文本文框
        JTextField Front=new JTextField();
        JTextArea Gitee=new JTextArea();
        //设置滑轮操作
        JScrollPane Roll=new JScrollPane(Gitee);   //添加滑轮的时候,要注意我们添加到哪里,就把添加的对象放进去
        //进行多选框和发送合体
        JPanel jp1=new JPanel();
        jp1.setLayout(new GridLayout(1,2));
        jp1.add(List);
        jp1.add(Send);
        //进行上框和多选框的合体
        JPanel jp2=new JPanel();
        jp2.setLayout(new GridLayout(2,1));
        jp2.add(Front);
        jp2.add(jp1);
        //进行上下框进行合体
        JPanel jp3=new JPanel();
        jp3.setLayout(new GridLayout(1,1));
        jp3.add(jp2);
        //开始合并
        JF.setLayout(new BorderLayout());
        JF.add(jp3,BorderLayout.NORTH);
        JF.add(Roll,BorderLayout.CENTER);     //只需要写一个滑轮的即可
        JF.setVisible(true);             //可见
    }
}


相关文章
|
数据库
59.【初识JFrame和数据库——聊天系统】(四)
59.【初识JFrame和数据库——聊天系统】
168 0
|
SQL 数据库
59.【初识JFrame和数据库——聊天系统】(三)
59.【初识JFrame和数据库——聊天系统】
153 0
|
SQL Java 关系型数据库
59.【初识JFrame和数据库——聊天系统】(二)
59.【初识JFrame和数据库——聊天系统】
165 0
|
11月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
629 158
|
11月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1695 152
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1125 156
|
11月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
734 156
|
11月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
792 161
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。

热门文章

最新文章