最基础的窗口

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语言学习笔记(1)——c语言的特点

    一.c语言概述 1.为什么学习c语言? (1)c的起源和发展 第一代语言:机器语言  1101 第二代语言:汇编语言  add ax,bx; 第三代语言:高级语言  a+b; 结构化:c fortra ...

  2. Hello,world,l'm coming!

    #include<studio.h> int main() { printf("Hello,Word!" l'm coming\n"); return0; }

  3. 採集和输出 DeckLink Studio 4K

  4. USB HID介绍

    HID是一种USB通信协议,无需安装驱动就能进行交互,在学习HID之前,先来复习一下USB协议的相关内容. USB设备描述符-概述 当插入USB设备后,主机会向设备请求各种描述符来识别设备.那什么是设 ...

  5. 显示目录树命令tree

    -a:显示所有文件,包括隐藏文件 -d:只显示目录 -f:显示完整的文件名,包含路径 -L:显示目录树的深度 [root@rusky /]# tree -L -a -f /home /home |-- ...

  6. 打开局域网项目,显示“项目位置不受信任”的解决办法(VS2008)

    弄了几天,网上搜了个遍,愣是解决不了,绝望的时候闭着眼睛胡搞,居然解决了,哈哈.... 开发环境:visual studio 2008 项目位置:局域网其他电脑内 出现问题: 1.弹出“”的对话框,如 ...

  7. Edwin windows下基本命令:

    Ctrl-Alt-z: 对区域内所有代码求值. Ctrl-x Ctrl-e: 对光标左边或上一个表达式求值. Ctrl-c Ctrl-x: 中断当前求值. Ctrl-a: 移动到行首. Ctrl-e: ...

  8. [c#]asp.net开发微信公众平台(6)阶段总结、服务搭建、接入

    经过前5篇,跟着一步步来的话,任何人都能搭建好一个能处理各种微信消息的框架了,总结一下最容易忽略的问题: 1.文本消息中可以使用换行符\n    : 2.微信发来的消息中带的那个长整型的时间,我们完全 ...

  9. DG下手工处理v$archive_gap方法

    从9i以后,oracle dataguard 备库一般都不需要手工处理丢失的日志,FAL自动会帮我们处理,下面通过个案例来讲下手工处理丢失的日志的方法: 1.在备库查询有哪些日志丢失,没应用到备库 S ...

  10. 编译osg for android

    做osg数数已经快两年了,之前将一些opengl的代码搬到了osg上,现在将一些osg的代码搬到了android上,尝试看看效果. 首先是编译的事情,android for android在http: ...