最基础的窗口

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编程的更多相关文章

  1. Eclipse安装图形JFrame,Jswing编程界面

    打开eclipse,选择help--->install new software 来源http://www.cnblogs.com/xiaobo-Linux/p/7954274.html 打开网 ...

  2. 【12-JDBC编程】

    JDBC编程 JDBC概述 •通过使用JDBC API,Java程序可以非常方便地操作各种主流数据库,这是使Java语言的巨大 魅力所在.而且由于Java语言的跨平台特性,所以使用JDBC API所编 ...

  3. java图形化编程

    转载 学习Java Swing图形化编程,我们首先要了解三个最基本的概念:顶层容器,控件,布局. 下面就来介绍一下这三个基本概念 1.顶层容器 什么是顶层容器?当我们使用Java进行图形编程的时候,图 ...

  4. java编程

    Java编程:五子棋游戏源代码 import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing ...

  5. JAVA的面向对象编程--------课堂笔记

    面向对象主要针对面向过程. 面向过程的基本单元是函数.   什么是对象:EVERYTHING IS OBJECT(万物皆对象)   所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么 ...

  6. Java之网络编程笔记

    网络通讯要素: 1.IP地址 IP地址:用于标记一台计算机的身份证. IP地址由网络地址(确定网络)和主机地址(网络中的主机)组成. IP地址分为A类地址.B类地址.C类地址(常用).D类地址.E类地 ...

  7. 今天考试的JAVA编程题

    今天早上考了java, 题目感觉还不错, 共四道题,有一道定义类的没啥意思就没列出来. 这三道题目还是不错的,特别是第一道,大一上学期学linux的时候,那时还没学C语言呢,准确的来说,还不知道什么是 ...

  8. 转:二十七、Java图形化界面设计——容器(JFrame)

    转:http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的, ...

  9. 界面编程模仿篇(QQ登录界面逼真篇)

    写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...

随机推荐

  1. 简单干净的C# MVC设计案例:BrothersDropdownList()

    团队切换器 在/Teams/Details?id=xxx的页面,有这样一个控件,使得不需要回到/Teams/Index就能轻松切换团队: 由于这种团队切换控件比比皆是,比如在团队故事板中(以及其他地方 ...

  2. (原)Apache添加完限速模块后的文件

    点我下载 解压后得到apache2文件夹和readme.txt文本 按照readme.txt修改apache2文件夹.

  3. h5新特性

    !DOCTYPE html><html> <head> <meta charset="utf-8"> <title></ ...

  4. 解决Android单个dex文件不能超过65536个方法问题

    当我们的项目代码过大时,编译运行时会报Unable to execute dex: method ID not in[0, 0xffff]: 65536)错误.当出现这个错误时说明你本身自己的工程代码 ...

  5. Java基础知识强化36:StringBuffer类之StringBuffer的概述

    1. StringBuffer类概述: (1)String的缺陷: 我们如果对字符串进行拼接操作,每次拼接,都会构造一个新的String对象,既耗时,又浪费空间.如下图: (2)StringBuffe ...

  6. linux wc命令

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...

  7. 服务 IntentService 前台服务 定时后台服务

    Activity public class MainActivity extends ListActivity {     private int intentNumber = 0;     @Ove ...

  8. Sherpa | Complete Navigation System 介绍与教材

    这里的夏尔巴人在iPad上使用的一种新的视频. 正如其名称所暗示的,夏尔巴人是所有您的导航需求的整体解决方案. 夏尔巴人带来了每个接口的三个主要的导航元素结合在一起 - 导航栏,侧边栏和页脚粘. 每一 ...

  9. MVC校验特性

    1.前端引入3个脚本       ①jq脚本   ②jQuery.Validate.js  ③jquery.validate.unobtrusive.js(异步验证) 2.后端加特性 在表对应的Mod ...

  10. include,include_once,require,require_once的区别

    1.include,require在其被调用的位置处包含一个文件. 2.include_once,require_once函数的作用与include相同,不过它会首先验证是否已包含该文件.如果已经包含 ...