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登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...
随机推荐
- 简单干净的C# MVC设计案例:BrothersDropdownList()
团队切换器 在/Teams/Details?id=xxx的页面,有这样一个控件,使得不需要回到/Teams/Index就能轻松切换团队: 由于这种团队切换控件比比皆是,比如在团队故事板中(以及其他地方 ...
- (原)Apache添加完限速模块后的文件
点我下载 解压后得到apache2文件夹和readme.txt文本 按照readme.txt修改apache2文件夹.
- h5新特性
!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></ ...
- 解决Android单个dex文件不能超过65536个方法问题
当我们的项目代码过大时,编译运行时会报Unable to execute dex: method ID not in[0, 0xffff]: 65536)错误.当出现这个错误时说明你本身自己的工程代码 ...
- Java基础知识强化36:StringBuffer类之StringBuffer的概述
1. StringBuffer类概述: (1)String的缺陷: 我们如果对字符串进行拼接操作,每次拼接,都会构造一个新的String对象,既耗时,又浪费空间.如下图: (2)StringBuffe ...
- linux wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
- 服务 IntentService 前台服务 定时后台服务
Activity public class MainActivity extends ListActivity { private int intentNumber = 0; @Ove ...
- Sherpa | Complete Navigation System 介绍与教材
这里的夏尔巴人在iPad上使用的一种新的视频. 正如其名称所暗示的,夏尔巴人是所有您的导航需求的整体解决方案. 夏尔巴人带来了每个接口的三个主要的导航元素结合在一起 - 导航栏,侧边栏和页脚粘. 每一 ...
- MVC校验特性
1.前端引入3个脚本 ①jq脚本 ②jQuery.Validate.js ③jquery.validate.unobtrusive.js(异步验证) 2.后端加特性 在表对应的Mod ...
- include,include_once,require,require_once的区别
1.include,require在其被调用的位置处包含一个文件. 2.include_once,require_once函数的作用与include相同,不过它会首先验证是否已包含该文件.如果已经包含 ...