JAVA GUI窗体及控件
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窗体及控件的更多相关文章
- C# 委托实例(跨窗体操作控件)
在C#里面却是可以不用自定义消息这么复杂的方法来实现跨窗体调用控件,C#有更好的办法就是委托. 效果描述:有两个窗体,FORM1(一个名为“打开form2”的button控件)和FORM2(一个名为“ ...
- Winform 获取当前单击的控件名称 和 向窗体添加控件
Winform如何获取当前单击的控件名称,比如有100个Button 和一个button_Click()的按钮事件 ,分别点击不同按钮后显示所点击的按钮名称?private void button_C ...
- 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)
实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...
- WinForm窗体及其控件的自适应
3步骤: 1.在需要自适应的Form中实例化全局变量 AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass ...
- C#遍历窗体所有控件或某类型所有控件
//遍历窗体所有控件, foreach (Control control in this.Controls) { //遍历后的操作... control.Enabled = false; } 遍历某个 ...
- 在C#中子线程如何操作主线程中窗体上控件
在C#中,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能 简单的通过控件对象名来操作,但不是说不能进行操作,微软 ...
- [WinForm] 使用反射将业务对象绑定到窗体或控件容器
在WebForm中,可以使用反射将业务对象绑定到 ASP.NET 窗体控件.最近做Winform项目,也参考WebForm中的代码实现同样的功能. Winform没有提供类似WebForm中的 ...
- C#跨窗体调用控件(委托回调函数使用例子)
问题: 有两个窗体,FORM1(含一个label控件,一个名为显示form2的button控件)和FORM2(含一个button控件).启动时,FORM1中点击button控件显示form2使FORM ...
- Winform跨窗体操作控件(使用委托)
Winform跨窗体操作控件是winform开发中很常见的形式,最常见且简单有效的方式便是使用委托的方式来进行操作,下面我将通过一个小实例来说明如何使用委托跨窗体实现控件操作. 实例介绍:两个窗体,F ...
随机推荐
- [python]Python 中 if not 用法
在python 判断语句中 None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于 False not None == not False ...
- Python结束当前运行的代码
import sys print(0) print(1) print(2) # 到此结束运行 sys.exit() # 已结束,以下不会执行 print(4) print(5)
- Java+Selenium自动化测试学习(一)
自动化测试基本流程 1.设置chromedriver的地址System.setProperty(); 2.创建一个默认浏览器ChromeDriver driver = new ChromeDriver ...
- 第二十九篇 玩转数据结构——线段树(Segment Tree)
1.. 线段树引入 线段树也称为区间树 为什么要使用线段树:对于某些问题,我们只关心区间(线段) 经典的线段树问题:区间染色,有一面长度为n的墙,每次选择一段墙进行染色(染色允许覆盖),问 ...
- 树链剖分 (ZQU1607)
这道题与模板之间,多了个确定哪个为根的操作: 这道题有技巧,并不需要真正去建立以某个节点为根的树 关于路径的操作,无论以哪个点为根,得出的答案无影响: 关于对子节点进行操作的,有几种情况, 当查询节点 ...
- 【PAT甲级】1107 Social Clusters (30分)(非递归并查集)
题意: 输入一个正整数N(<=1000),表示人数,接着输入N行每行包括一个他的爱好数量:和爱好的序号.拥有相同爱好的人们可以默认他们在同一个俱乐部,输出俱乐部的数量并从大到小输出俱乐部的人数( ...
- [转]使用HttpOnly提升Cookie安全性
原文:https://www.cnblogs.com/zlhff/p/5477943.html 在介绍HttpOnly之前,我想跟大家聊聊Cookie及XSS. 随着B/S的普及,我们平时上网都是依赖 ...
- 开源分布式系统Druid简谈
介绍 Druid是一个拥有大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析.尤其是当发生代码部署.机器故障以及其他产品系统遇到宕机等情况时,Dru ...
- 解决ifarme在ios下无法使用
在第一层的config 添加 <access origin="*" /><allow-navigation href="*" />< ...
- MySQL导出数据到文件报错
执行如下语句: mysql> select * from users into outfile "F:\Develop\MySQL57\Uploads\users.txt" ...