最基础的窗口

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. BLOG PLUGINS

    文章分享按钮 (1)加网(JiaThis) (2)百度分享 文章关联推荐 每篇博文下面可以显示你博客中与该篇博文有些关联的几篇文章,也就是智能推荐,一方面可以增加你博文的曝光率和点击率,一方面也可以给 ...

  2. 海量数据挖掘--DB优化篇

    上一篇博客我们介绍了针对大数据量的处理,我们应该对程序做什么样的处理,但是一个程序的优化是有底线的,我们要考虑人力,物力,程序的优化是海量数据处理的一部分,这里介绍我们的重头戏,对数据库的优化! 这里 ...

  3. 计算机网络VLAN学习

    首先要搞明白VLAN的由来,为什么会产生这样一种技术.这得从计算机网络的数据交换说起,最开始,我们的网络处于蛮荒时代,数据是怎么交换的,就是简单的介质共享,大家都接到一条线路上,然后互相发数据,这个必 ...

  4. Mina入门实例

    继续上一篇,这篇主要讲通过mina往B端发送消息.并接受消息,mina是一个网络通信框架,封装了javaNIO.简单易用.网上有非常多关于他的介绍,在此不赘述了. 如上篇所介绍,完毕功能,须要五个类: ...

  5. SAN和NAS的区别

    SAN : STORAGE AREA NETWORK   存储区域网络 NAS : NETWORK ATTACHED STORAGE 网络附加存储 NAS不一定是盘阵,一台普通的主机就可以做出NAS, ...

  6. js中this的指向

    在js中this的指向对于新手来说一定是个难题,但是如果你真正理解了的话,也就没什么问题啦,下面就来讲讲this吧. JS中,this的值取决于调用的模式(调用对象),而JS中共有4种调用模式: 1. ...

  7. 带搜索功能,支持绑定对象到节点的TreeView辅助类

    特点: 1.支持数叶子节点与对象绑定 2.支持xml导入,且数据类相关的xml可自定义,只和泛型的实现有关 3.支持节点搜索功能,可在树结构上要求只显示部分节点 4.用C#编写,但与平台关联性低,可移 ...

  8. java读取网页

    package cn.stat.p4.ipdemo; import java.io.IOException; import java.io.InputStreamReader; import java ...

  9. Wireshark对ping报文的解码显示(BE与LE) 转自作者:易隐者

    Wireshark对ping报文的解码显示(BE与LE) 我们非常熟悉ping报文的封装结构,但是,在这个报文解码里,我们发现wireshark的解码多了几个参数:Identifier(BE).Ide ...

  10. Fedora22没有i18n文件

    今天想修改Fedora22的系统语言,发现/etc/sysconfig/没有i18n 解决方法: dnf install system-config-language.noarch -y system ...