Swing基本操作:

JAVA显示一个带按钮的窗口:

 import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder; public class FrameDemo extends JFrame { /**
* 在这里定义窗体中需要用到的组件
*/
private JPanel contentPane; //面板
private JButton button; //按钮 /**
* 在主函数中创建Frame类实例
* 启动该应用。
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() { //启动窗口
try {
FrameDemo frame = new FrameDemo(); //窗体
frame.setVisible(true); //设置窗体可见
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* 在本类构造函数中对组件进行初始化
* 创建窗体。
*/
public FrameDemo() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗体时结束本进程
this.setBounds(100, 100, 450, 300); //设置窗体大小位置
contentPane = new JPanel(); //创建面板
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); //设置边框
contentPane.setLayout(new BorderLayout(0, 0)); //设置布局
this.setContentPane(contentPane); //将面板添加到窗体中 button = new JButton("按钮");   //按钮
contentPane.add(button, BorderLayout.CENTER); //将按钮添加到面板contentPane中
} }

执行结果:

其中,FrameDemo类继承了Frame(窗体)类,在主函数中被实例化为Frame对象frame,此时,默认的窗体是不可见的,须对其进行如下操作:

frame.setVisible(true);                //设置窗体可见

(设置Visible属性为true)

才能将窗体显示出来

另外,这段代码很关键:

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗体时结束本进程

如果没有这行代码,会出现点击关闭按钮后,窗体虽然被销毁,但是程序进程依然存在,浪费资源的问题。

JAVA GUI窗体及控件的更多相关文章

  1. C# 委托实例(跨窗体操作控件)

    在C#里面却是可以不用自定义消息这么复杂的方法来实现跨窗体调用控件,C#有更好的办法就是委托. 效果描述:有两个窗体,FORM1(一个名为“打开form2”的button控件)和FORM2(一个名为“ ...

  2. Winform 获取当前单击的控件名称 和 向窗体添加控件

    Winform如何获取当前单击的控件名称,比如有100个Button 和一个button_Click()的按钮事件 ,分别点击不同按钮后显示所点击的按钮名称?private void button_C ...

  3. 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)

    实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...

  4. WinForm窗体及其控件的自适应

    3步骤: 1.在需要自适应的Form中实例化全局变量   AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass ...

  5. C#遍历窗体所有控件或某类型所有控件

    //遍历窗体所有控件, foreach (Control control in this.Controls) { //遍历后的操作... control.Enabled = false; } 遍历某个 ...

  6. 在C#中子线程如何操作主线程中窗体上控件

    在C#中,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能 简单的通过控件对象名来操作,但不是说不能进行操作,微软 ...

  7. [WinForm] 使用反射将业务对象绑定到窗体或控件容器

    在WebForm中,可以使用反射将业务对象绑定到 ASP.NET 窗体控件.最近做Winform项目,也参考WebForm中的代码实现同样的功能.     Winform没有提供类似WebForm中的 ...

  8. C#跨窗体调用控件(委托回调函数使用例子)

    问题: 有两个窗体,FORM1(含一个label控件,一个名为显示form2的button控件)和FORM2(含一个button控件).启动时,FORM1中点击button控件显示form2使FORM ...

  9. Winform跨窗体操作控件(使用委托)

    Winform跨窗体操作控件是winform开发中很常见的形式,最常见且简单有效的方式便是使用委托的方式来进行操作,下面我将通过一个小实例来说明如何使用委托跨窗体实现控件操作. 实例介绍:两个窗体,F ...

随机推荐

  1. es7实现数学乘方

    //math.pow简写方法 console.log(2 ** 6)

  2. thinkphp新的心得

    1,代码的高度复用 1,js的删除,弹出框都可以用嵌入的js,不用每个页面都写 2,控制器的初始化函数可以实现配置某些变量,比如admin模块的topic控制器的初始化函数可以 $this->o ...

  3. form中把图片设为按钮

    提交按钮sumbit <input type="image" src="图片路径">//type="image"默认是sumbi ...

  4. rest framework 序列化之depth遇到用户表外键的尴尬情况

    rest framework 序列化之depth遇到用户表外键的尴尬情况 问题:ModelSerializer序列化使用depth=1直接扩表把用户表所有信息查询出来的情况 class xxxSeri ...

  5. Multisim 如何添加文本 如何编辑文本字体

    1.在Multisim中如何添加文本 方法1)Place -> Text 方法2)Ctrl+T 2.如何修改字体的大小及颜色

  6. 每天进步一点点------SOPC的Avalon-MM IP核(四) KEY_LED IP定制

    /********************************************************************************* * Company : * Eng ...

  7. 单机架设传奇服务器第47课:定时器OnTimer功能详解

    传奇定时器OnTimer功能详解(泡点.时间触发.任务活动) 定时器功能,是服务端中非常常见的一种功能,常见如:泡点脚本.赌博脚本,任务活动指定时间刷怪,时间触发一些都需要用到OnTimer功能,定时 ...

  8. MongoDB - 用户名密码认证

    参考 offical doc medium Mongo roles说明 https://docs.mongodb.com/manual/reference/built-in-roles/#userAd ...

  9. 8.5-Day1T2--Asm.Def 的基本算法

    题目大意 给一棵树,求∑∑w_i*w_j*w_LCA(i,j) w_i表示i点权值 题解 显然一点点求lca是肯定会tle的 那就想如何优化 i和j的lca和j和i的lca是一样的 DFS,在每个x处 ...

  10. java篇 之 变量存放位置

    一:在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁 ...