Java SWing就是java提供的一个类库专门用于开发窗体程序的,相对于C#的winform,java swing的开发要比C#更加麻烦,他不像C#拥有可视化的界面编辑工具 而是需要像QT一样纯代码式GUI编程。java的好处就是通用性强,跨平台,这个java窗体程序做好之后,哪都可以用。然而C#的winform只能运行在有.net框架上 的平台,然而.net支持最好的,也就只有windows了。C#的开发效率更高
所有的Swing组件必须由时间分派线程(EventQueue.invokeLater)配置
实际使用 Java 开发图形界面程序时 ,很少使用 AWT 组件,绝大部分时候都是用 Swing 组件开发的 。 Swing是由100%纯 Java实现的,不再依赖于本地平台的 GUI, 因此可以在所有平台上都保持相同的界面外观。独立于本地平台的Swing组件被称为轻量级组件;而依赖于本地平台的 AWT 组件被称为重量级组件。 由于 Swing 的所有组件完全采用 Java 实现,不再调用本地平台的 GUI,所以导致 Swing 图形界面的显示速度要比 AWT 图形界面的显示速度慢一些,但相对于快速发展的硬件设施而言,这种微小的速度差别无妨大碍。
/** * Created by ${wuyupku} on 2019/3/14 16:47 */ import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class DrawLineFrame extends JFrame { DrawLinePanel linePanel = new DrawLinePanel(); // 创建面板类的实例 public stat
"520"这个数字源于汉字的发音,它与"我爱你"这句表达爱意的中文词语相似。因此,"520"在中国文化中被赋予了浪漫和表白的含义。这个日期在过去的几年里逐渐流行起来,成为了年轻人表白爱意和表达情感的特殊日子。
package cn; import java.awt.Color; import java.awt.EventQueue; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; /** * 会变色的文字 */ public class ChangeC
开头说一下,如果使用 import java.awt.*; import javax.swing.*; 出现错误,请查看: 解决无法使用java.awt.和javax.swing. 1.JFrame窗体 package number; import java.awt.*; import javax.swing.*; public class Xuexi extends JFrame{ public void CreateJFrame(String title) { JFrame jf =new JFr
本章介绍开发Swing小应用程序和应用程序时要用到的Swing的基本知识。 虽然Swing是AWT的扩展,但是两者的基本概念还是有许多不同之处。首先,Swing小应用程序和应用程序的实现方式与AWT小应用程序和应用程序的实现方式有所不同。而且,如果开发人员想要开发同时使用AWT组件和Swing组件的小应用程序或应用程序,则还必须注意混合使用轻量组件和重量组件所带来的许多问题。 Swing是线程不安全的,这就是说,在大多数情况下,只能从事件派发线程中访问Swing组件。本章将介绍采用这种方法的原因及使用这种方法所带来的结果,另外,本章还介绍了Swing提供的一些机制,这些机制使其他线程能从事件派发线程中执行代码。
1.流布局管理器: FlowLayout布局管理器中组件的相对位置随窗口大小而变化。
最近找了一份教学生Java入门的‘差事’,刚刚讲了一些基础,为了引起大家学习兴趣,于是写了一个简单的点名器,awt因为很少涉及,所以找的网上的,分别写了List版本和数组版本,因为还没给学生讲解List,只学习数组,所以单独改造了一个数组版本的,因为考虑到通用型,采用读取任意位置的txt文本,只需要按照格式一行一行的写入学生就可以实现点名了,采用的Random实现伪随机。直接上代码,基本上都能看懂吧。
首先需要注意的就是JFrame这个类,如果在main类整直接new一个出来是没有任何的变化,需要设置一个setvisible为true来显示出来。
} ` 以上是面向过程的思路,而Java是面向对象的,所以我们进行程序修改规范化:
绝对布局,就是可以硬性指定组件在容器中的位置和大小,使用绝对坐标来指定组件的位置与大小。 步骤如下: (1)使用Container.setLayout(null)方法取消布局管理器。 (2)使用Component.setBounds()方法设置每个组件的大小与位置。
创建 JFrame 窗口后 , 通过调用 JFrame#setDefaultCloseOperation 可以设置窗口自动关闭 ;
很多情况下,我们常常喜欢给不同的组件设置边框,从而让界面的层次感更明显,swing中提供了Border对象来代表一个边框,下图是Border的继承体系图:
1.实例化JFrame对象,也就是创建一个窗体。 2.获取一个容器。 3.创建组件。 4.向容器添加组件。 5.使窗体可视。 6.设置窗体大小。 7.调用上面方法。
GUI(图形用户界面)为程序提供图形界面,它最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有的平台上运行,但Java1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要求,于是Swing出现了,它是AWT组件的增强组件,但是它并不能完全替代AWT组件,这两种组件需要同时出现在一个图形用户界面中。
是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用。
下面分成四个步骤来实现项目 第一步:创建项目和窗口。 第二步:加载两张图片(ball.png和desk.jpg)。 第三步:实现动画,让小球沿水平方向移动并做边界检测。 第四步:实现小球沿着任意角度飞行。
矩形是计算机图形学中最基本的图形,JavaSwing也提供了绘制矩形的功能。本教程将介绍如何使用JavaSwing绘制矩形。
本文链接: http://blog.csdn.net/xietansheng/article/details/72814531
Java 内部类种类及使用解析 内部类Inner Class 将相关的类组织在一起,从而降低了命名空间的混乱。 一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分。 Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner class 匿名内部类anonymous inner class 静态内部
一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分。
3.Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表 4个器件
这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下
游戏代码可以自行修改,以便于实现不同效果 基本目录介绍 文章目录 基本目录介绍 1. StartGames:用于启动游戏 2. GamePanel:游戏控制面板 3. Data:导入游戏素材数据
如果要为 Java AWT 界面编程的应用设置键盘按键监听 , 必须为 Frame / JFrame 窗口设置键盘监听 , 为组件设置是无效的 ;
注:在运行程序的时候,得重新设计窗体的大小,以适合自己的电脑,其次,图片类和音乐类都保存在我自己电脑的F盘的相应路径下,在运行程序的时候需要将图片类和音乐类保存到自己的本地磁盘路径中,然后在程序中改变路径。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/108916.html原文链接:https://javaforall.cn
在王者荣耀这款游戏中,玩家可以根据自己的喜好来调整页面布局,比如有的玩家觉得左侧出装顺手,而有的玩家则觉得右侧出装顺手;再比如说玩家在局内想要通过展开地图向队友发送信号时,有些玩家觉得地图左侧展开操作顺畅,而另外一些玩家觉得右侧展开操作顺畅。这些组件的页面布局亦可通过自定义来完成。所有的这些功能,达到了王者荣耀设计者让玩家能更好地体验游戏的初衷。 在本实例中,包含有地图左侧展开右侧出装、地图右侧展开左侧出装、地图/出装同左/右侧等多种组件,玩家对于不同组件的组合(布局)有着不同的要求。很显然,在编写代码时无法在构造方法中进行硬编码来满足所有玩家对组件组合(布局)的要求,而是将布局结果对象的构造过程分成若干个步骤,即根据当前组件个数,在一个接口中定义若干个方法,每个方法负责创建布局结果对象的一个组件,而实现该接口的类将负责创建布局结果对象,也就是说,将布局结果对象的创建过程封装在另一个类中(像这种封装一个对象的创建过程的类称作生成器),从而实现满足所有玩家对于出装、地图展开不同布局需求的目的。
建立GUI界面,系统产生一个随机数(对用户不可见),然后用户输入猜测数,系统根据用户每次输入的数据给出评语(偏大,偏小,猜测成功)。当用户最终猜测成功后,就把当次的随机数和猜测次数放到文件夹内。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
public class Demo extends JFrame implements Runnable {
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说java中如何创建窗体,希望能够帮助大家进步!!!
视频教程地址: https://www.bilibili.com/video/BV1rh411Z77j/ 加入一张图片 大部分和上一节: https://xuzhiwei.blog.csdn.net/
JAVA生成随机椭圆二一个以上widget的frame,内部类 package liezi; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TwoButtons { JFrame frame; JLabel label1; JLabel label2; public static void main(String[] args){ TwoButtons TwoButtons=new Two
文章目录 java的容器 数组 Collection 实例 java的容器 容器中可以保含多个对象,每个对象称为容器的一个元素.容器是用对象封装的数据结构. 数组 数组是最常见的数据结构.数组是相同的类型元素的有序集合,并有固定的大小.数组可以根据下标(index)来随机存取元素. Collection 表(List)和集合(set)是java.util中定义的两个接口(interface); 集合(set)也是元素的集合。集合中不允许有等值的元素,集合的元素没有顺序 map是键值对结合.map中的每个元素
1 package project; 2 import javax.swing.*; 3 4 import java.awt.event.KeyEvent; 5 import java.awt.event.InputEvent; 6 import static javax.swing.JFrame.*; 7 class WindowMenu extends JFrame //JFrame的子类 8 { 9 JMenuBar myBar ; 10 JMenu menu , su
众所周知,JavaSwing是Java中关于窗口开发的一个工具包,可以开发一些窗口程序,然后由于工具包的一些限制,导致Java在窗口开发商并没有太多优势(当然也有一些第三方的工具包也很好用),不过,在JavaSwing中关于事件的监听机制是我们需要重点掌握的内容。
GridBagLayout是一个灵活的布局管理器,部件如果想加入其中需借助GridBagConstraints,其中有若干个参数,解释如下:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117209.html原文链接:https://javaforall.cn
package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout
设置鼠标滚轮监听 , 在 Canvas 组件中 , 调用 addMouseWheelListener 函数 , 添加 鼠标滚轮监听器 MouseWheelListener ,
领取专属 10元无门槛券
手把手带您无忧上云