JAVA入门到精通-第32讲-swing编程实战
xxxxxxxxxx
/**
* 拆分窗格(JSplitPane)的使用
*/
import java.awt.*;
import javax.swing.*;
public class Window009 extends JFrame{
//定义组件
JSplitPane jsp;
JList jl;
JLabel jlb;
public static void main(String[] args) {
Window009 win=new Window009();
}
//构造函数
public Window009(){
//建立组件
String[] words={"boy","girl","bird","close"};
jl=new JList(words);
jlb=new JLabel(new ImageIcon("images/cb.jpg"));//访问时路径\\或/
//拆分窗格
jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jl,jlb);
//可以收缩变化
jsp.setOneTouchExpandable(true);
//设定布局管理器(JFrame本身就是BorderLayout布局)
//加入组件
this.add(jsp);
//设置窗体
this.setTitle("金山词霸2007");
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
xxxxxxxxxx
/**
* 多行文本框(JTextArea)组件使用
*/
import java.awt.*;
import javax.swing.*;
public class Window010 extends JFrame{
//定义组件
JTextArea jta=null;
JScrollPane jsp=null;
JPanel jp1=null;
JComboBox jcb=null;
JTextField jtf=null;
JButton jb=null;
public static void main(String[] args) {
Window010 win=new Window010();
}
//构造函数
public Window010(){
//构建组件
jta=new JTextArea();
jsp=new JScrollPane(jta);
jp1=new JPanel();
String[] chatter={"布什","拉登"};
jcb=new JComboBox(chatter);
jtf=new JTextField(10);
jb=new JButton("发送");
//设定布局管理器
//加入组件
jp1.add(jcb);
jp1.add(jtf);
jp1.add(jb);
this.add(jsp);
this.add(jp1,BorderLayout.SOUTH);
//设定窗体
this.setTitle("QQ聊天窗口");
this.setIconImage((new ImageIcon("images\\qe.jpg")).getImage());//设置标题栏内图标
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
}
}
/**
* 页签组件(JTabbedPane)选项卡窗格--使用QQ登录界面
*/
import java.awt.*;
import javax.swing.*;
public class Window011 extends JFrame{
//设定组件
//主页面北部
JLabel jl1;//标签
//主页面南部
JButton jb1,jb2,jb3;//按钮
JPanel jp1;//面板
//主页面中部
JTabbedPane jtp;//选项卡窗格
JPanel jp2,jp3,jp4;//面板
JLabel jl2,jl3,jl4,jl5;//标签
JTextField jtf;//文本框
JPasswordField jpf;//密码框
JButton jb4;//按钮
JCheckBox jcb1,jcb2;//复选框
//JPanel2组件
JLabel jl6,jl7;//标签
JTextField jtf1;
JPasswordField jpf1;
//JPanel3组件
JLabel jl8,jl9;//标签
JTextField jtf2;
JPasswordField jpf2;
public static void main(String[] args) {
Window011 win=new Window011();
}
//构造函数
public Window011(){
//创建组件
//创建JFrame北部JLabel1组件
jl1=new JLabel(new ImageIcon("images/qqdl.jpg"));
//创建JFrame中部JPanel2组件
jl2=new JLabel("QQ号码",JLabel.CENTER);
jl3=new JLabel("QQ密码",JLabel.CENTER);
jl4=new JLabel("忘记密码",JLabel.CENTER);
jl4.setFont(new Font("宋体",Font.PLAIN,16));//设置字体,字号
jl4.setForeground(Color.BLUE);//设置字体颜色
jl5=new JLabel("<html><a href='www.qq.com'>申请密码保护</a></html>");
jl5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//鼠标移动到jl5后会变成手指图标
jtf=new JTextField();
jpf=new JPasswordField();
jb4=new JButton("清除号码");//JButton上可以放图片。
new JButton(new ImageIcon("图片路径"));
jcb1=new JCheckBox("隐身登录");
jcb2=new JCheckBox("记住密码");
jtp=new JTabbedPane();//选项卡窗格
jp2=new JPanel();
jp3=new JPanel();
//jp3.setBackground(Color.RED);//给面板设置背景色
jp4=new JPanel();
//jp4.setBackground(new Color(0,0,255));
//创建JFrame中部JTabbedPane选项卡JPanel3组件
jl6=new JLabel("手机号码",JLabel.CENTER);
jl7=new JLabel("密 码",JLabel.CENTER);
jtf1=new JTextField(20);
jpf1=new JPasswordField(20);
//创建JFrame中部JTabbedPane选项卡JPanel4组件
jl8=new JLabel("电子邮箱",JLabel.CENTER);
jl9=new JLabel("密 码",JLabel.CENTER);
jtf2=new JTextField(20);
jpf2=new JPasswordField(20);
//创建JFrame南部JPanel1组件
jp1=new JPanel();
jb1=new JButton("登 录");
jb2=new JButton("取 消");
jb3=new JButton("注册向导");
//设置布局管理器
jp2.setLayout(new GridLayout(3, 3));
//jp3.setLayout(new GridLayout(2, 2));
//jp4.setLayout(new GridLayout(2, 2));
//加入组件
//将组件添加到JPanel2中
jp2.add(jl2);//加入QQ号码标签
jp2.add(jtf);//加入文本框
jp2.add(jb4);//加入清除号码按扭
jp2.add(jl3);//加入QQ密码标签
jp2.add(jpf);//加入密码框
jp2.add(jl4);//加入忘记密码
jp2.add(jcb1);//加入隐身登陆复选框
jp2.add(jcb2);//加入记住密码复选框
jp2.add(jl5);//加入申请密码保护标签
//将组件添加到JPanel3中
jp3.add(jl6);
jp3.add(jtf1);
jp3.add(jl7);
jp3.add(jpf1);
//将组件添加到JPanel4中
jp4.add(jl8);
jp4.add(jtf2);
jp4.add(jl9);
jp4.add(jpf2);
//添加到JPanel1中
jp1.add(jb1);
jp1.add(jb2);
jp1.add(jb3);
//将面板添加到选项卡窗格上
jtp.add("QQ号码",jp2);//第一个参数代表选项卡名称,第二个参数代表对应的面板
jtp.add("手机号码",jp3);
jtp.add("电子邮箱",jp4);
//将JLabel1添加到Frame北部
this.add(jl1,BorderLayout.NORTH);
//将JPanle2添加到Frame中部
this.add(jtp,BorderLayout.CENTER);
//将JPanel1添加到Frame南部
this.add(jp1,BorderLayout.SOUTH);
//窗体设置
this.setTitle("QQ登录界面");
//ImageIcon icon=new ImageIcon("图片路径");
//this.setIconImage(icon.getImage());
this.setIconImage((new ImageIcon("images/qe.jpg")).getImage());
this.setSize(350, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
}
}
import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.InputMethodEvent;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class Window012 extends JFrame{
//文件组定义组件
JMenuBar jmb;//菜单条组件
JMenu menu1,menu2,menu3,menu4,menu5;//主菜单:文件、编辑、格式、查看、帮助
JMenuItem item2,item3,item4,item5,item6,item7;//子菜单:新建、打开、保存、另存为、页面设置、打印、退出
JMenu xinjian;//二级菜单
JMenuItem file,project;
//编辑组定义组件
//编辑:撤消、剪切、复制、粘贴、删除、查找、查找下一个、替换、转到、全选、时间/日期
JMenuItem eitem1,eitem2,eitem3,eitem4,eitem5,eitem6,eitem7,eitem8,eitem9,eitem10,eitem11;
//格式组定义组件
JMenuItem oitem1,oitem2;//格式:自动换行、字体
//查看组定义组件
JMenuItem vitem1;//查看:状态栏
//帮助组定义组件
JMenuItem hitem1,hitem2;//帮助:查看帮助、关于记事本
JTextArea jta;
//工具条
JToolBar jtb;
JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8;
public static void main(String[] args) {
Window012 win=new Window012();
}
//构造函数
public Window012(){
//构建组件
//工具条
jtb=new JToolBar();
jb1=new JButton(new ImageIcon("images/new.jpg"));
jb1.setToolTipText("新建");//设置提示信息
jb2=new JButton(new ImageIcon("images/open.jpg"));
jb2.setToolTipText("打开");
jb3=new JButton(new ImageIcon("images/save.jpg"));
jb3.setToolTipText("保存");
jb4=new JButton(new ImageIcon("images/copy.jpg"));
jb4.setToolTipText("复制");
jb5=new JButton(new ImageIcon("images/delete.jpg"));
jb5.setToolTipText("删除");
jb6=new JButton(new ImageIcon("images/modify.jpg"));
jb6.setToolTipText("编辑");
jb7=new JButton(new ImageIcon("images/print.jpg"));
jb7.setToolTipText("打印");
jb8=new JButton(new ImageIcon("images/close.jpg"));
jb8.setToolTipText("关闭");
jmb=new JMenuBar();
//主菜单
menu1=new JMenu("文件(F)");
menu1.setMnemonic('F');//设置助记符
menu2=new JMenu("编辑(E)");
menu2.setMnemonic('E');
menu3=new JMenu("格式(O)");
menu3.setMnemonic('O');
menu4=new JMenu("查看(V)");
menu4.setMnemonic('V');
menu5=new JMenu("帮助(H)");
menu5.setMnemonic('H');
//文件--新建--子目录
xinjian=new JMenu("新建");
file=new JMenuItem("文件");
project=new JMenuItem("工程");
item2=new JMenuItem("打开(O)");
item2.setMnemonic('O');
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));//设置ctrl快捷组合键
item3=new JMenuItem("保存(S)");
item3.setMnemonic('S');
item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
item4=new JMenuItem("另存为(A)");
item4.setMnemonic('A');
item5=new JMenuItem("页面设置(U)");
item5.setMnemonic('U');
item6=new JMenuItem("打印(P)");
item6.setMnemonic('P');
item6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
item7=new JMenuItem("退出(X)");
item7.setMnemonic('X');
eitem1=new JMenuItem("撤消(U)");
eitem1.setMnemonic('U');
eitem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
eitem2=new JMenuItem("剪切(T)");
eitem2.setMnemonic('T');
eitem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
eitem3=new JMenuItem("复制(C)");
eitem3.setMnemonic('C');
eitem3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
eitem4=new JMenuItem("粘贴(P)");
eitem4.setMnemonic('P');
eitem4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
eitem5=new JMenuItem("删除(L)");
eitem5.setMnemonic('L');
eitem5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
eitem6=new JMenuItem("查找(F)");
eitem6.setMnemonic('F');
eitem6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
eitem7=new JMenuItem("查找下一个(N)");
eitem7.setMnemonic('N');
eitem7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3,0));
eitem8=new JMenuItem("替换(R)");
eitem8.setMnemonic('R');
eitem8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
eitem9=new JMenuItem("转到(G)");
eitem9.setMnemonic('G');
eitem9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));
eitem10=new JMenuItem("全选(A)");
eitem10.setMnemonic('A');
eitem10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
eitem11=new JMenuItem("时间/日期(D)");
eitem11.setMnemonic('D');
eitem11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));
oitem1=new JMenuItem("自动换行(W)");
oitem1.setMnemonic('W');
oitem2=new JMenuItem("字体(F)");
oitem2.setMnemonic('F');
vitem1=new JMenuItem("状态栏(S)");
vitem1.setMnemonic('S');
hitem1=new JMenuItem("查看帮助(H)");
hitem1.setMnemonic('H');
hitem2=new JMenuItem("关于记事本(A)");
hitem2.setMnemonic('A');
jta=new JTextArea();
//设定布局管理器
//加入组件
//将按钮添加到工具条上
jtb.add(jb1);
jtb.add(jb2);
jtb.add(jb3);
jtb.add(jb4);
jtb.add(jb5);
jtb.add(jb6);
jtb.add(jb7);
jtb.add(jb8);
//将菜单项添加到菜单上
xinjian.add(file);
xinjian.add(project);
menu1.add(xinjian);
menu1.add(item2);
menu1.add(item3);
menu1.add(item4);
menu1.addSeparator();//添加分割线
menu1.add(item5);
menu1.add(item6);
menu1.addSeparator();
menu1.add(item7);
menu2.add(eitem1);
menu2.addSeparator();
menu2.add(eitem2);
menu2.add(eitem3);
menu2.add(eitem4);
menu2.add(eitem5);
menu2.addSeparator();
menu2.add(eitem6);
menu2.add(eitem7);
menu2.add(eitem8);
menu2.add(eitem9);
menu2.addSeparator();
menu2.add(eitem10);
menu2.add(eitem11);
menu3.add(oitem1);
menu3.add(oitem2);
menu4.add(vitem1);
menu5.add(hitem1);
menu5.addSeparator();
menu5.add(hitem2);
//将菜单添加到菜单条上
jmb.add(menu1);
jmb.add(menu2);
jmb.add(menu3);
jmb.add(menu4);
jmb.add(menu5);
//将菜单条添加到窗体上
this.setJMenuBar(jmb);
//将工具条添加到窗体上
this.add(jtb,BorderLayout.NORTH);
JScrollPane jsp=new JScrollPane(jta);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.add(jsp);
//窗体设置
this.setTitle("Java记事本");
this.setSize(500, 400);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
转载于:https://www.cnblogs.com/xuxaut-558/p/10045693.html
JAVA入门到精通-第32讲-swing编程实战相关推荐
- JAVA入门到精通-第43讲-IO编程-坦克大战10
//当敌人子弹击中我的时候,死亡 this.hitEnemyTank( ); //每一个敌人的坦克击中我 //我的坦克被击中,爆炸,消失 //当敌人互相有碰撞的时候,不能往前面走了 矩形的任何一点不能 ...
- JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示
遇到的问题: 现在每登录一个人,后面的人是能看到前面的登录的人的: 但是,前面的人看不到后面的人登录: //后面每登录一个人,有责任去通知前面登录的人他已经上线了: 通知了完以后,需要更改好友在线的情 ...
- JAVA入门到精通-第73讲-学生管理系统5-dao.sqlhelper
-Model2模式 如果数据模型会很多,怎么办? 处理业务逻辑的:Model层 后台又分为:处理业务逻辑和对数据库的操作DAO-data access object -决定,再抽象一层出来:数据模型: ...
- JAVA入门到精通-第71讲-学生管理系统3-增删改查
模式的概念(mv): 提高系统的可读性.可维护性.效率: --------------------- 添加.修改.删除 //添加的界面做好了 //对添加的按钮做个响应,直接操作数据库: //完全可以 ...
- JAVA入门到精通-第7讲-成员方法-构造方法
方法的声明没有函数体: void 不需要return; 其他的如int 是需要return的: 2.3默认是double类型的,把double的数强行传给float类型的: 转置:横坐标和纵坐标转换: ...
- JAVA入门到精通-第64讲-sql server备份恢复
邮件服务器备份: c 创建 查询 更新 删除 / 增删改查: 分离:把数据库aaa暂时离开数据库,可以分离,附加到另外地方去: .mdf 和 .ldf 这两个文件 所有任务---分离数据 ...
- JAVA入门到精通-第38讲-线程-坦克大战6
应用程序在内存中开辟空间-进程: 内存-大脑容量: 反应切换的速度-CPU: 试图去尝试别的进程的地址空间---病毒: 线程是由进程(应用程序)创建的: 涉及到并发,就会涉及到线程:迅雷下载: 线程不 ...
- JAVA入门到精通-第6讲-成员属性-成员方法
b.age=10; 它是根据age和name所占的数据类型还划分空间的: b没有赋值,孤零零地放在那; b=a: 让b也指向a所指向的空间,实际上是一个引用: 再次证明,其实指向的是同一块空间:引用传 ...
- JAVA入门到精通-第16讲-数组
数组的必要性: 数组从0开始编号,arr[0]:习惯从0开始:比如外国人建地下室: 错误:数组越界: ArrayIndexOutofBoundsException:5 arr.length, ...
最新文章
- c语言笔试题(带答案)
- boost::core_numbers用法的测试程序
- 山师计算机试题答案,山师计算机应用技术试题及答案
- iOS中POST请求
- python字符串筛选输出_如何在Python中过滤字符串列表
- 使用openssl生成PEM格式私钥和公钥及ECDSA签名
- java 返回第k小的数_java – 给定n和k,返回第k个置换序列
- LeetCode(893)——特殊等价字符串组(JavaScript)
- 修改服务器后账套不存在,金蝶KIS专业版环境配置常见问题
- delphi 获取计算机,Delphi中用GetTickCount获取计算机运行时间
- Linux 下使用 Wine 安装运行 TM2008 Beta 及相关问题解决
- html广告代码自适应,很实用的对联广告代码(自适应高度)
- 模型的泛化能力--正则化
- 图形界面中消息盒子的使用
- “朋友”两个字好辛苦
- 时隔4年,翟天临怒怼网友:论文写不过是你能力不行...
- YAMLException: bad indentation of a mapping entry at line 解决
- 135微信编辑器html模式,135微信编辑器如何使用 135微信编辑器使用方法教程
- 装逼神器,逼真黑客范儿
- python循环代码优化技巧_记一次优化python循环代码逻辑的过程
热门文章
- 把公网ip通过DNSPOD进行域名解析
- ods,dw,dm理解
- 神经网络模型matlab例子,神经网络及其matlab实现
- IP冲突的本质是什么?
- 19-20-1计算机网络quiz2
- MybatisPlus Page类的解析与使用
- Flask教程--第一个Flask应用:调试模式
- 聊城初中计算机考试成绩查询,聊城市初中学业水平考试成绩查询入口2021 http://wsbm.lcedu.cn...
- rf运行python脚本报错_tools
- python 求扇形面积