JFrame编程
最基础的窗口
public test1() {
setTitle("test1");
setSize(300,300); //设置窗口大小
setLocation(300,300); //设置窗口的位置
jp = new JPanel();
JButton jb=new JButton("button");
add(jb); //整个窗口可以增加一个按钮
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //正常退出
setVisible(true); //是否显示
}
边界布局管理器
jb1=new JButton("jb1");
add(jb1,BorderLayout.EAST);
jb2=new JButton("jb2");
add(jb2,BorderLayout.NORTH);
jb3=new JButton("jb3");
add(jb3,BorderLayout.SOUTH);
jb4=new JButton("jb4");
add(jb4,BorderLayout.WEST);
jb5=new JButton("jb5");
add(jb5,BorderLayout.CENTER);
流式布局管理器
setLayout(new FlowLayout()); //默认居中
//this.setLayout(new FlowLayout(FlowLayout.LEFT)); //左对齐
//this.setLayout(new FlowLayout(FlowLayout.RIGHT)); //右对齐
for(int i=0;i<5;i++)
{
jb[i]=new JButton(""+i+"");
add(jb[i]);
}
this.setResizable(false); //不可调整窗口大小
网格式布局管理器
this.setLayout(new GridLayout(3,3,15,15)); //主要看行,所有都会被显示,一列可能多也可能少,后面2个参数是横竖的间距
for(int i=0;i<5;i++)
{
jb[i]=new JButton(""+i+"");
add(jb[i]);
}
面板
jp = new JPanel(); //新建面板
jp2=new JPanel();
for(int i=0;i<2;i++)
{
jb[i]=new JButton(""+i+"");
jp.add(jb[i]); //面板添加按钮
}
for(int i=2;i<5;i++)
{
jb[i]=new JButton(""+i+"");
jp2.add(jb[i]);
}
this.add(jp,BorderLayout.NORTH); //窗口添加面板
this.add(jp2,BorderLayout.SOUTH);
标签、文本框、密码框
JLabel jl=new JLabel("账号");
JTextField jtf=new JTextField(10);
JLabel jl2=new JLabel("密码");
JPasswordField jtf2=new JPasswordField(10);
复选框和单选按钮
jp = new JPanel(); //新建面板
jp2=new JPanel();
JCheckBox[] jcb={null,null,null};
for(int i=0;i<3;i++) { jcb[i]=new JCheckBox(""+i+""); jp.add(jcb[i]); }
JRadioButton[] jrb={null,null};
ButtonGroup bg=new ButtonGroup();
for(int i=0;i<2;i++) { jrb[i]=new JRadioButton(""+i+""); }
bg.add(jrb[0]); bg.add(jrb[1]);
jp2.add(jrb[0]); jp2.add(jrb[1]);
add(jp);
add(jp2);
下拉列表框和滚动条
this.setLayout(new GridLayout(2,1));
jp = new JPanel(); //新建面板
jp2=new JPanel();
String[] S={"北京","上海","武汉","杭州"};
JComboBox jcmb=new JComboBox(S);
for(int i=0;i<4;i++) jcmb.addItem(""+i+"");
JList jlist=new JList(S);
jlist.setVisibleRowCount(3);
JScrollPane jsp=new JScrollPane(jlist);
jp.add(jcmb);
add(jp);
jp2.add(jsp);
add(jp2);
拆分窗口和插入图片
JLabel jl=new JLabel(new ImageIcon("Image/龙猫2.jpg")); //插入图片
String[] S={"1","2","3"};
JList jlist=new JList(S);
JSplitPane jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jl); //拆分成两个窗口
jsp.setOneTouchExpandable(true); //有向左向右的小三角
add(jsp);
设置图片
this.setIconImage((new ImageIcon("Image/龙猫2.jpg")).getImage()); //设置图片
一些相关设置的操作
JLabel jl=new JLabel("qq",JLabel.CENTER); //设置标签位置
jl.setFont(new Font("宋体",Font.PLAIN,16)); //设置字体
jl.setForeground(Color.BLUE); //设置颜色
jl.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); //移到此处变成手
选项卡
jp.setBackground(Color.BLUE); //面板设置颜色
JTabbedPane jtbp=new JTabbedPane(); //选项卡
jtbp.add("面板1",jp); jtbp.add("面板2",jp2);
菜单和工具条
JMenuBar mb=new JMenuBar(); //菜单条
JMenu jm=new JMenu("中国"); //不是最终的菜单
JMenuItem jmi1=new JMenuItem("汉阳");
JMenuItem jmi2=new JMenuItem("汉口");
JMenuItem jmi=new JMenuItem("北京");
JMenu ej=new JMenu("武汉"); //二级菜单
ej.add(jmi1); ej.add(jmi2); jm.add(jmi);
jm.addSeparator(); //设置分隔线
jm.add(ej);
JMenu jm2=new JMenu("美国(A)");
jm2.setMnemonic('A'); //按下alt+A可点击该选项,必须单引号
mb.add(jm); //菜单条添加菜单项目
mb.add(jm2);
JTextField jtf=new JTextField();
JToolBar tool=new JToolBar(); //工具条
JButton button=new JButton("New");
button.setToolTipText("新建"); //提示信息
tool.add(button); //按钮加入到工具条中
jp.add(mb); jp.add(tool);
表格
Vector ziduan=new Vector();
ziduan.add("编号"); ziduan.add("姓名");
Vector jilu=new Vector(); //集合类
for(int i=0;i<3;i++)
{
Vector row=new Vector();
row.add(""+i+"");
row.add("a"+i+"");
jilu.add(row);
}
JTable ta=new JTable(jilu,ziduan);//JTable是表格,里面的参数是先记录后字段
JScrollPane jsp=new JScrollPane(ta); //滚动条
this.add(jsp);
JFrame编程的更多相关文章
- Eclipse安装图形JFrame,Jswing编程界面
打开eclipse,选择help--->install new software 来源http://www.cnblogs.com/xiaobo-Linux/p/7954274.html 打开网 ...
- 【12-JDBC编程】
JDBC编程 JDBC概述 •通过使用JDBC API,Java程序可以非常方便地操作各种主流数据库,这是使Java语言的巨大 魅力所在.而且由于Java语言的跨平台特性,所以使用JDBC API所编 ...
- java图形化编程
转载 学习Java Swing图形化编程,我们首先要了解三个最基本的概念:顶层容器,控件,布局. 下面就来介绍一下这三个基本概念 1.顶层容器 什么是顶层容器?当我们使用Java进行图形编程的时候,图 ...
- java编程
Java编程:五子棋游戏源代码 import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing ...
- JAVA的面向对象编程--------课堂笔记
面向对象主要针对面向过程. 面向过程的基本单元是函数. 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么 ...
- Java之网络编程笔记
网络通讯要素: 1.IP地址 IP地址:用于标记一台计算机的身份证. IP地址由网络地址(确定网络)和主机地址(网络中的主机)组成. IP地址分为A类地址.B类地址.C类地址(常用).D类地址.E类地 ...
- 今天考试的JAVA编程题
今天早上考了java, 题目感觉还不错, 共四道题,有一道定义类的没啥意思就没列出来. 这三道题目还是不错的,特别是第一道,大一上学期学linux的时候,那时还没学C语言呢,准确的来说,还不知道什么是 ...
- 转:二十七、Java图形化界面设计——容器(JFrame)
转:http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的, ...
- 界面编程模仿篇(QQ登录界面逼真篇)
写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...
随机推荐
- appium windows 命令行中运行以及targetSdkVersionFromManifest failed的解决
启动appium服务,可以通过appium.exe可执行文件启动,也可以通过命令行启动.appium.exe启动需要通过安装可执行文件,命令行启动需要通过npm安装appium.可执行文件启动方式如下 ...
- KVM硬件辅助虚拟化之 EPT(Extended Page Table)
传统OS环境中,CPU对内存的訪问都必须通过MMU将虚拟地址VA转换为物理地址PA从而得到真正的Physical Memory Access,即:VA->MMU->PA,见下图. 虚拟执行 ...
- [Angular 2] Property Binding
Property Binding is bind property NOT attribute! import {Component, Input, Output, EventEmitter} fro ...
- Java学习笔记——JDBC读取properties属性文件
Java 中的 properties 文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件. 文件的内容是格式是"键=值"(key-valu ...
- 输入一个字符串,输出时数字倒序。例如:输入"hello2345wo7654",输出则为"hello5432wo4567"
public class ReserveString { public static void main(String[] args) { System.out.println("Pleas ...
- IIS7的安装详解
IIS7安装流程规范 1, IIS常用的功能模块介绍: 1) 静态内容:可发布静态 Web 文件格式,比如 HTML 页面和图像文件. 2) 默认文档:允许您配置当 ...
- 配置Samba服务
1. samba服务用在什么地方?samba服务用于把Linux服务器上的文件或者打印接共享给windows或者Linux.2. 在samba服务的配置文件中,[global]配置部分的securit ...
- 使用VS Code开发AngularJS 2 第一个应用程序
使用VS Code开发AngularJS 2 第一个应用程序 目录 运行环境 创建项目 安装依赖包 创建TypeScript应用程序 配置应用程序 运行应用程序 运行环境 运行环境: Windows ...
- ASP.net 前台页面通过ID获取控件
asp.net的服务器控件的ID通常只能在服务器端很好的识别,客户端需要通过ClientID获得控件 1.通过js获得 var controlID = "<%=controlID. ...
- Intent 能传递的数据类型
1. Serializable,将对象序列化成二进制数据传递 2. charsequence: 主要用来传递String,char等 3. parcelable: 这个android提供的一种新的类型 ...