Java实现俄罗斯方块——文本域组件

技术实现:


1.初始化游戏窗口;

2.初始化游戏界面;

3.初始化游戏的说明面板;

4.随机生成下落方块;

5.绘制方块;

6.清除方块;

7.清楚某一行方块,上方方块掉落;

8.刷新清除某一行方块后的界面;

9.键盘控制下落方块的移动方向,形状;

10.判断方块能否下落;

11.实现方块下落速度的变化;

12.游戏的暂停;

2.初始化游戏界面;

在进行学习的过程中,使用到了文本域。 

 文本域

文本域与按钮的”地位”差不多,需要添加在面板上,再由面板添加到窗体上。

文本域的方法主要包括自动换行,修改字体类型及大小,创建滚动条并将文本域放进滚动条,添加文本域背景。

下面代码中,分别创建了窗体(你好,世界),面板以及文本域(10行10列)。设置文本域的大小和颜色。为了使用方便,我们创建滚动条并将文本域放进滚动条,内容超过文本与高度,便会显示滚动条。这样,把滚动条放到面板里,再把面板放到窗体。

class c2{
    public static void main(String[] args) {
        JFrame jFrame=new JFrame("你好,世界");
        jFrame.setVisible(true);
        jFrame.setBounds(0,0,400,400);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        Container container=new Container();
        JPanel jPanel=new JPanel();
        JTextArea textArea=new JTextArea("请输入内容:",10,10);
        textArea.setBackground(Color.CYAN);
        //自动换行
        textArea.setLineWrap(true);//既然自动换行,就不存在横滚动条了

        //不设置自动换行的话,会出现横纵滚动条
        //创建滚动条,并把文本域放进去
        JScrollPane jsp=new JScrollPane(textArea);
        //获得文本域首选大小
        Dimension dimension=textArea.getPreferredSize();
        jsp.setBounds(100,200,dimension.width,dimension.height);

        jPanel.add(jsp);
        jFrame.add(jPanel);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/727967.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】指向指针的指针使用场景

前言 C 语言中,比较难理解的就是指针,完全搞懂了指针,那么C语言算是入了门。 指针中比较难理解的概念: 指针的指针。 指针的指针,刚开始看到这个概念,感觉头疼。但是我们在程序里面应用一次就能搞懂。 本文…

web中间件漏洞-jboss部署war包

web中间件漏洞-jboss部署war包 攻击机服务器准备好的ma.war

【ARMv8/v9 GIC 系列 4.1 -- GIC CPU Interface 访问支持情况】

文章目录 GIC CPU Interface 访问支持Bit[27:24]: GIC CPU接口汇编代码实现访问小结 GIC CPU Interface 访问支持 在ARMv8架构中,ID_AA64PFR0_EL1是一个系统寄存器,提供了有关处理器功能的详绀信息。这个寄存器的位[27:24]专门用于描述GIC(通…

使用PlugLink实现自动化运营:提升效率的秘密武器(附源码)

使用PlugLink实现自动化运营:提升效率的秘密武器 作为一款开源的自动化工具,PlugLink可以帮助个人和小微企业实现运营自动化,极大地提升工作效率,降低运营成本。 一、PlugLink简介 PlugLink是一个基于Python的开源自动化工具框…

【数据库系统概论复习】关系数据库与关系代数笔记

文章目录 基本概念数据库基本概念关系数据结构完整性约束 关系代数关系代数练习课堂练习 语法树 基本概念 数据库基本概念 DB 数据库, 为了存用户的各种数据,我们要建很多关系(二维表),所以把相关的关系(二…

SpringBoot复习

第一章 SpringBoot开发入门 1.Springboot的优点。 ① 可快速构建独立的Spring应用。 ② 直接嵌入Tomcat、Jetty和Undertow服务器(无须部署WAR文件) ③ 通过依赖启动器简化构建配置 ④ 自动化配置Spring和第三方库 ⑤ 提供生产就绪功能 ⑥ 极少的代码生成…

自由度与反证法

在 一道全等三角形几何证明题 的最后我使用反证法获得了解法三,但只是稍微提到了自由度,本文详细说一下,然后下一篇文章给出我的一个求最小生成树的新方法,同样基于自由度和反证法。 再次给出那道几何题,并给出一些话…

JAVA系列---Servlet

Servlet 处理 HTTP 请求的流程 一般情况下,浏览器(客户端)通过 HTTP 协议来访问服务器的资源,Servlet 主要用来处理 HTTP 请求。核心对象有三个 Servlet:提供service()方法处理请求ServletRequest:请求信…

SQL Developer功能又进化了!这波改造,可靠

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…

Vue-观察器(watch)的定义方式引发组件初始值没有渲染成功问题(已解决)

问题描述:在测试环境发现一个问题,打开一张表单的时候,所有字段都成功赋上了值,唯独一个人员组件的值(出差人员)没有带出,而接口返回的数据是正常的,也就是说不是后端接口的问题&…

手把手教你如何部署自己的One Tool助手

手把手教你如何部署自己的One Tool助手 前言安装教程效果图在这里插入图片描述 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0fc5cb0f451e4c50b55ec850a5517b0c.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/56331f878b9545d5bff6f938c4b317…

WPF中的隧道路由和冒泡路由事件

文章目录 简介:一、事件最基本的用法二、理解路由事件简介: WPF中使用路由事件升级了传统应用开发中的事件,在WPF中使用路由事件能更好的处理事件相关的逻辑,我们从这篇开始整理事件的用法和什么是直接路由,什么是冒泡路由,以及什么是隧道路由。 一、事件最基本的用法 …

Zookeeper基础教程

Zookeeper基础教程 资料来源:Zookeeper Tutorial (tutorialspoint.com) zookeeper就是Hadoop生态动物园的管理员 1. Zookeeper-概述 ZooKeeper是一种分布式协调服务,用于管理大型主机集群(large set of hosts)。在分布式环境中协调和管理服务是一个复…

第三期【Demo教程】教你使用SeaTunnel把数据从MySQL导到Hive

随着数据技术的快速发展,了解并掌握各种工具和技术变得尤为重要。为此,我们准备在Apache SeaTunnel社区发起如何使用连接器的Demo演示计划,邀请所有热爱数据同步技术的同学分享他们的知识和实操经验! 我们第三期主题是:如何使用Se…

Cesium源码解析六(3dtiles属性获取、建筑物距离计算、建筑物着色及其原理分析)

快速导航 Cesium源码解析一(搭建开发环境) Cesium源码解析二(terrain文件的加载、解析与渲染全过程梳理) Cesium源码解析三(metadataAvailability的含义) Cesium源码解析四(metadata元数据拓展…

物联网设备安装相关知识整理

拓扑图 对于ADAM-4150先接设备的整体的供电。 ADAM-4150就涉及到几个电子元器件的连接,一个是485-232的转换器,一个是将RS-232转换为USB的转接口,因为现在的计算机很多都去掉了RS-232接口而使用USB接口。 4150右侧有个拨码,分别两…

在Linux服务器上安装Anaconda使用conda

1. 下载安装包 wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh 安装成功 2. 安装anaconda chmod x Anaconda3-5.3.0-Linux-x86_64.sh./Anaconda3-5.3.0-Linux-x86_64.sh 一直回车 直到出现 yes or no, 输入 yes 继续回车,然…

链表OJ

GDUFE 在期末前再刷一次链表题 ~ 203. 移除链表元素 - 力扣(LeetCode) /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* removeElements(struct ListNode* head, int …

文本高效管理神器:支持自定义行数拆分,轻松实现批量高效编辑与管理新体验

在信息爆炸的时代,文本处理成为了我们日常工作中不可或缺的一部分。然而,面对大量的文本数据,如何高效地进行编辑和管理,却成为了许多人头疼的问题。现在,有了我们的文本批量高效编辑管理工具,一切将变得简…

Srouce Insight 4出现乱码

今天用SI4打开一个工程文件,一打开发现注释全是乱码。中文全部看不出来,英文和数字可以看得出来。 那是因为中文的编码格式不算特别兼容。所以需要调整编码格式。 于是我在这里调整了编码格式: 找到菜单的Options-Preferences里面的Files 调…