开头说一下,如果使用 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...2.JDIalog窗体 import java.awt.*; import javax.swing.*; public class windowpr extends JDialog{ public windowpr...(MyFrame frame) { //实例化一个JDialog类对象,指定对话框的父窗体,窗体标题和类型 super(frame,"第一个JDialog窗体",true); Container...} } //弹出对话框 import java.awt.event.*; import java.awt.*; import javax.swing.*; public class MyFrame
package expression; import java.awt.Color; import java.awt.Container; import javax.swing.*; public...class Demo extends JFrame{//继承父类 public Demo(){ setVisible(true);//设置窗体可见 setTitle("窗体标题");.../*窗体关闭规则 * EXIT_ON_CLOSE 关闭窗体,并停止程序 * DO_NOTHING_ON_CLOSE 操作对窗体无效,也不会停止运行 * HIDE_ON_CLOSE 隐藏窗体...JLabel l = new JLabel("这是一个窗体");//标签 c.add(l);//添加组件 c.remove(l);//删除组件 c.validate();//验证容器中的组件...setContentPane(c);//重新载入组件 setResizable(false);//不改变窗体大小 System.out.println("x="+getX()+
MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体中内嵌多种子窗体的功能,使用MDI组件需要在UI界面中增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...,如下我们将具体介绍该组件的常用使用技巧。...mdiArea容器组件。...:图片当用户点击MDI模式时,我们则执行以下代码,将所有已存在的窗体合并为一个类似于TabWidget的窗体组件。...// 平铺模式void MainWindow::on_actionTile_triggered(){ ui->mdiArea->tileSubWindows();}代码运行效果如下:图片最后一个功能是主窗体发送数据到子窗体
MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体中内嵌多种子窗体的功能,使用MDI组件需要在UI界面中增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...,如下我们将具体介绍该组件的常用使用技巧。...这个Dialog对话框我们只增加两个功能,一个Dialog::currentFileName()获取窗体标题,另一个Dialog::SetData(QString data)设置数据到编辑框,代码实现如下...mdiArea容器组件。...: 当用户点击MDI模式时,我们则执行以下代码,将所有已存在的窗体合并为一个类似于TabWidget的窗体组件。
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍MdiArea组件的常用方法及灵活运用...该组件主要用于设计多文档界面应用程序,具备有多种窗体展示风格,实现了在父窗体中内嵌多种子窗体的功能,使开发者能够轻松地创建支持多个文档的应用程序。...读者在使用MDI组件时,需要在UI界面中增加mdiArea控件容器,之后所有窗体创建与操作都要在容器内进行,其次由于MDI窗体组件仅仅是一个画布只具备限制窗口的作用,无法实现生成窗体,所以需要在项目中手动增加自定义...Dialog对话框,并对该对话框进行一定的定制,首先绘制如下案例,其顶部是一个QToolBar组件,底部则是一个QMidArea组件,如下图; 接着我们需要以此对上述菜单绑定一个唯一的名称及文本,这个过程可以通过代码实现...新建窗体时只需要调用new Dialog创建新的窗体,并通过addSubWindow()将新的窗体指针加入到组件内即可,当关闭时可以直接通过调用closeAllSubWindows()来实现,如下代码则是创建与关闭的实现
适用:.net2.0+ winform项目 介绍: 类似QQ、迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随性度或更甚...可拖拽的地方包括不限于: 窗体、Panel、GroupBox、TabControl等容器控件的空白区; 菜单栏、工具栏、状态栏等bar的空白区,以及无效项目; Label、PictureBox、ProgressBar...EventHandler EnabledChanged; 使用挺简单,随时随地FormDragger.Enabled = true/false就能开闭拖拽功能,比如在Main函数中就可以开好,完了程序内的所有自建窗体就可以愉快的拖拽了...,但是,像消息框MessageBox、各种对话框(如打开文件对话框)等由系统提供的窗体不能拖,原因是这些窗口的消息不进入程序,需要勾子才能捕获到,犯不着(其实方案里已经实现了一个DialogDragger.cs...原理: 利用Application.AddMessageFilter向程序加入消息过滤器,拦截并处理发往程序窗体的鼠标左键单击消息,若满足逻辑,则拦下该消息,并往控件所在的窗体发送点击标题栏的消息,达到点击该控件时系统认为是点到窗体标题栏的效果
public partial class Form1 : Form { private Point oldPoint = new Poi...
Java中GUI的默认窗体布局 常见的窗体布局方案
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说java中如何创建窗体,希望能够帮助大家进步!!!...首先,我们看一下窗体都有哪些要素,以windows下的【记事本】为例:我们新建一个记事本,会看到标题,大小,位置,关闭方式 所以我们用代码创建一个窗体,也需要这些要素,前提:在Java中创建窗体,我们需要继承...【JFrame】类,导入JFrame包 在线学习视频教程推荐:java学习视频 第二步,我们给窗体设置标题(PS:对窗体的一些设置,最好写在构造方法里,养成良好的习惯),设置标题使用setTitle(...)方法 第三步,给窗体设置大小和位置,我们可以使用setBounds()【setBounds()传入4个参数,前两个是窗体的位置,后两个是窗体的 大小】,将大小和位置一起设置,也可以使用setLocation...()设置窗体的位置,使用setSize()设置窗体的大小 注意:窗体的位置,是以电脑屏幕左上角为原点(0,0)的坐标系 第四步,设置窗体的关闭方式,使用setDefaultCloseOperation
注意: 窗体相对于屏幕默认的坐标为屏幕原点(0, 0), 为了便于理解,将窗体默认的坐标设为(m/2, n/2), 那么设置窗体居中, 就是窗体的坐标从(m/2, n/2)移动到(a/2...设置窗体居中坐标图解如下图所示: ?...示例代码如下: 1 /* 2 * 思路: 3 * A:获取屏幕的宽和高 4 * B:获取窗体的宽和高 5 *...C:(用屏幕的宽-窗体的宽)/2,(用屏幕的高-窗体的高)/2作为窗体的新坐标。...6 */ 7 // 设置窗体居中 8 public static void setFrameCenter(JFrame jf) { 9 // 获取工具包对象
双击UserForm1窗体,进入代码编辑界面,输入如下代码: Option Explicit '用于窗体最大最小化按钮的设置 '参考资源:https://blog.csdn.net/u010280075...运行UserForm窗体,得到如下结果: 可以看到,此时UserForm1中有了最大化和最小化按钮。 最小化用户窗体的代码实现 以一个简单的命令按钮为例。...接下来同样需要在代码窗口内输入两大块代码。...在模块级变量区域,也就是第一个sub过程之前,添加如下代码: '用于最小化窗体的代码实现 '参考资料:http://club.excelhome.net/thread-878927-1-1.html Private...参考资料: VBA窗体最大化最小化按钮实现(https://ddz.red/uiOTy) 在VBA代码中最小化当前窗体(https://ddz.red/Ku7ey)
public static int sumData(int a,int b) { return a + b; } } } 此窗体的...再删除Form2.Designer.sc 和 public Form2() { InitializeComponent(); } 这样Form2中的代码就可以像...Form1中的代码一样使用了!
问题描述: 用java做一个图形化界面的程序,在Eclipse上运行后中文显示乱码,如下图所示: ?...解决方法: 在要运行的代码上右键 Run As --> Run Configurations..., 在 Arguments --> VM arguments: 中增加下面这句: -Dfile.encoding...该方法只对需要运行的java代码有效。 如果该程序在java控制台还输出数据的话,依旧会出现乱码。
昨天为了图方便,使用MyEclipse中的swing功能画界面,画完以后发现无法运行,查看源代码发现全报错,一脸懵比。...注:此文写成于2019-06-08 错误信息 Exception in thread "main" java.lang.Error: Unresolved compilation problem: Syntax...在我将那两行代码删除/注释以后,报错就没有了。完美解决。 [定位错误] 其他参考解决办法: 将代码复制到记事本,再新建一个类,将代码粘贴回来。 新建一个项目,将报错的类复制到新类里面。...结论 Eclipse自动生成代码时出错了! 代码没有生成完整 ,很多时候是多了或者少了一个结尾的花括号“}”。 仔细观察代码,查看每一个方法是否完整,手动修改正确或者删除即可解决报错。
Java SWing就是java提供的一个类库专门用于开发窗体程序的,相对于C#的winform,java swing的开发要比C#更加麻烦,他不像C#拥有可视化的界面编辑工具 而是需要像QT一样纯代码式...java的好处就是通用性强,跨平台,这个java窗体程序做好之后,哪都可以用。然而C#的winform只能运行在有.net框架上 的平台,然而.net支持最好的,也就只有windows了。...运行的效果如下 (二)带有菜单栏,菜单条,和子菜单的窗体程序 首先要知道几个常见类和函数 JMenuBar:代表菜单条,他需要被设置给JFrame窗体中 JMenu:代表菜单,他需要被放在菜单条中...add到这个窗体中,才会显示 /** * 展示java swing中的常见组件 */ public class UserInputForm extends JFrame{...下面介绍最重要的”事件” 可以关注我的博客,观看后续学习记录 下一节:java swing 窗体程序开发(二)事件(Action,Item,Document) https://blog.csdn.net
、创建带快捷键的 MenuItem 菜单项组件 二、代码示例 一、菜单组件示例要点说明 ---- 1、创建 MenuBar 菜单栏组件 菜单组件 的 总父容器是 MenuBar 菜单栏 组件 , 该组件需要放入到...之间的分割线 使用下面的代码 , 可以创建 MenuItem 菜单项组件 之间的分割线 ; MenuItem menuItem7 = new MenuItem("-");...actionPerformed(ActionEvent e) { System.out.println("注释"); } }); 二、代码示例...---- 代码示例 : import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener...; import java.awt.event.KeyEvent; public class MenuExample { public static void main(String[] args
在窗体最上面这样写语句的话,就相当于手动插入了一个名称是ob的选项按钮,这样在代码编辑器下拉框里,就能选择ob,然后选择对应的事件。...但是在UserForm_Initialize事件里添加控件,如果使用窗体的全局变量ob的话,ob只能指向最后一个控件,因为它仅仅是一个变量,不会同时指向多个控件。...而窗体的全局变量声明带WithEvents的时候又不能声明为数组控件,所以在窗体里没法插入不定数量,却又带有事件的控件。...这个时候我们就希望如果能使用代码添加事件就好了,可是VBA没有设置这样的接口。 VB.NET这样的语言是有AddHandler 这样的方法去使用代码添加事件的。 那么在VBA里还有没有办法呢?...在窗体中编辑代码: Option Explicit '声明COB数组,记录COB对象 Private cobs() As COB Private Sub UserForm_Initialize()
满足如下要求的所有场景: Get请求获取页面数据的所有接口 前端大行组件化的当今,我们在写后端接口代码的时候还是按照业务思路一头写到尾吗?我们是否可以思索,「后端接口业务代码如何可以简单快速组件化?」...关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 按照如上某东的订单结算页面的示例,我们得到了如下的订单结算页面模块组成图: ?...Remove: 移除一个子组件 -> 稳定不变的 Do: 执行组件&子组件 -> 变化的 套用到订单结算页面信息接口伪代码实现如下: 一个父类(抽象类): - 成员属性 + `ChildComponents...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 链式调用 | 我的代码没有else 点击https://github.com/TIGERB/easy-tips/tree
Java中菜单组件如下图所示: ?
Java并发相关组件或者技术包括:线程、线程池、阻塞队列、Future/FutureTask、Lock/Condition、Lock、AQS(队列同步器)、并发工具类、原子更新类、LockSupport...、Unsafe等,下面我们以总体视角来看下这些组件之间的依赖关系。...代码解耦:比如生产者消费者模式。...AQS(AbstractQueuedSynchronizer,队列同步器)是构建JUC中锁和其他同步组件的基础组件,我们在日常开发中一般不会直接与AQS打交道。...NonReentrantLock就重写了方法tryRelease、isHeldExclusively、tryAcquire等,子类重写这些方法可自定义对应逻辑,比如判断是否可重入、是否公平设置state等,这块具体代码参考
领取专属 10元无门槛券
手把手带您无忧上云