JAVASE学习(14)Swing应用

1)拆分窗格:JSplitPane属于容器类组件

/*
 * 仿金山词霸
 * */

package com.test;
import java.awt.*;
import javax.swing.*;
public class Demo9 extends JFrame{
	//定义组件
	JSplitPane jsp;
	JList jList;
	JLabel jLabel;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo9 demo9=new Demo9();
	}
	public Demo9() {
		// TODO Auto-generated constructor stub
	//创建组件
		String []words={"boy","girl","bird"};
		jList=new JList(words);
		jLabel=new JLabel(new ImageIcon("img/ciba.jpg"));
		//拆分窗格
		jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jList,jLabel);
		//可以伸缩变化
		jsp.setOneTouchExpandable(true);
		//设置布局管理器
		//添加组件
		this.add(jsp);
		//设置大小
		this.setSize(400, 300);
		this.setLocation(500, 200);
		this.setTitle("金山词霸");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}

}
/*
 * 仿QQ聊天界面,涉及JTextArea多行文本框组件
 * */
package com.test;

import java.awt.*;

import javax.swing.*;

public class Demo10 extends JFrame{
	//定义组件
	JTextArea jta=null;
	JPanel jPanel=null;
	JComboBox jcb=null;
	JTextField jtf=null;
	JButton jb=null;
	JScrollPane jsp=null;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo10 demo10=new Demo10();
	}
	public Demo10() {
		// TODO Auto-generated constructor stub
		//创建组件
		jta=new JTextArea();
		jsp=new JScrollPane(jta);
		jPanel=new JPanel();
		String []chatter={"奥巴马","普京"};
		jcb=new JComboBox(chatter);
		jtf=new JTextField(10);
		jb=new JButton("发送");
		//设置布局
		
		//添加组件
		jPanel.add(jcb);
		jPanel.add(jtf);
		jPanel.add(jb);
		
		//加入JFrame
		this.add(jsp);
		this.add(jPanel,BorderLayout.SOUTH);
		//设置属性
		this.setSize(300,200);
		this.setTitle("QQ聊天");
		this.setLocation(500,300);
		this.setIconImage(new ImageIcon("img/qq.jpg").getImage());
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		
	}

}

/*QQ登陆界面
 * */
package com.test;

import java.awt.*;
import javax.swing.*;

public class Demo11 extends JFrame{
	//定义组件
	//北部区域
	JLabel jLabel1;
	//南部区域
	JButton button1,button2,button3;
	JPanel jPanel1;
//	中部区域
	JTabbedPane jTabbedPane;//选项卡窗口
	JPanel jPanel2,jPanel3,jPanel4;
	
	JLabel jLabel2,jLabel3,jLabel4,jLabel5;
	//号码输入文本框
	JTextField jTextField;
	//密码
	JPasswordField jPasswordField;
	//清除号码button
	JButton button4;
	//隐身登陆,记住密码
	JCheckBox box1,box2;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo11 demo11=new Demo11();
	}
	public Demo11() {
		// TODO Auto-generated constructor stub
		//创建组件
		jLabel2=new JLabel("QQ号码 ", JLabel.CENTER);
		jLabel3=new JLabel("QQ密码 ", JLabel.CENTER);
		
		jLabel4=new JLabel("忘记密码", JLabel.CENTER);
		jLabel4.setFont(new Font("宋体", Font.PLAIN, 16));//设置字体样式
		jLabel4.setForeground(Color.BLUE);//设置字体颜色方法
		jLabel5=new JLabel("<html><a href='www.qq.com'>申请密码保护</a></html>");
		jLabel5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		
		//输入号码框
		jTextField=new JTextField(11);
		//输入密码框
		jPasswordField=new JPasswordField(11);
		
	//	button4=new JButton("清除");
		//button放入图片 
		button4=new JButton(new ImageIcon("img/clear.gif"));
		//复选框
		box1=new JCheckBox("隐身登录");
		box2=new JCheckBox("记住密码");
		
//		北部区域
		jLabel1=new JLabel(new ImageIcon("img/tou.gif"));
		
		//南部区域
		jPanel1=new JPanel();
		//button1=new JButton("登录");
		button1=new JButton(new ImageIcon("img/denglu.gif"));
	//	button2=new JButton("取消");
		button2=new JButton(new ImageIcon("img/quxiao.gif"));
		button3=new JButton(new ImageIcon("img/xiangdao.gif"));
		
		//中部区域
		jTabbedPane=new JTabbedPane();
		jPanel2=new JPanel();
		jPanel3=new JPanel();
		jPanel3.setBackground(Color.RED);//给面板设置背景色
		jPanel4=new JPanel();
		jPanel4.setBackground(new Color(0, 0, 255));
		
		//将面板添加到选项卡窗格上
		jTabbedPane.add("QQ号码", jPanel2);//第一个参数代表选项卡的名称
		jTabbedPane.add("手机号码", jPanel3);
		jTabbedPane.add("电子邮箱", jPanel4);
		
		//添加组件
		jPanel1.add(button1);
		jPanel1.add(button2);
		jPanel1.add(button3);
		
		jPanel2.add(jLabel2);
		jPanel2.add(jTextField);
		jPanel2.add(button4);
		jPanel2.add(jLabel3);
		jPanel2.add(jPasswordField);
		jPanel2.add(jLabel4);
		jPanel2.add(box1);
		jPanel2.add(box2);
		jPanel2.add(jLabel5);
		
		this.add(jPanel1,BorderLayout.SOUTH);
		this.add(jLabel1,BorderLayout.NORTH);
		this.add(jTabbedPane,BorderLayout.CENTER);
		
		//展现组件
		ImageIcon icon=new ImageIcon("img/qq.gif");
		this.setIconImage(icon.getImage());//给窗体设置图标方法
		this.setSize(350, 260);
		this.setLocation(600,400);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		
	}
	

}


记事本界面

涉及到新的swing组件

1)菜单组件

JMenuBar   菜单条组件  树干

JMenu  菜单组件             树枝

JMenuItem 菜单项组件树叶

2)二级菜单制作

JMenu里面可以嵌套JMenu

3)工具条组件

JToolBar 容器类组件

/*
 *记事本界面
 * 
 * */
package com.test;

import javax.swing.*;
import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

public class Demo12 extends JFrame{
	//定义组件
	JMenuBar jmb;
	JMenu menu1,menu2,menu3,menu4,menu5,menu6;
	JMenuItem item1,item2,item3,item4,item5,item6,item7;
	JMenu xinjian;//二级菜单
	JMenuItem file,project;
	
	JTextArea jta;
	//工具条
	JToolBar jtb;
	JButton jb1,jb2,jb3,jb4,jb5,jb6;
	public Demo12() {
		// TODO Auto-generated constructor stub
		//创建组件
		jtb=new JToolBar();
		jb1=new JButton("新建");
//		jb1=new JButton(new ImageIcon("new.jpg"));
		jb1.setToolTipText("新建");//设置提示信息
		jb2=new JButton("打开");
//		jb1=new JButton(new ImageIcon("OPEN.jpg"));
		jb2.setToolTipText("打开");//设置提示信息
		jb3=new JButton("保存");
		jb4=new JButton("复制");
		jb5=new JButton("剪切");
		jb6=new JButton("粘贴");
		
		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("打开");
		item3=new JMenuItem("保存(S)");
		item3.setMnemonic('S');
		//给菜单项添加快捷方式
		item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
		item4=new JMenuItem("另存为(A)");
		item5=new JMenuItem("页面设置(U)");
		item6=new JMenuItem("打印(P)");
		item7=new JMenuItem("退出(X)");
		
		jta=new JTextArea();
		//设置布局
		
		//添加组件
		//将按钮添加到工具条上
		jtb.add(jb1);
		jtb.add(jb2);
		jtb.add(jb3);
		jtb.add(jb4);
		jtb.add(jb5);
		jtb.add(jb6);
		
		//将菜单项添加到菜单上
		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);
		
		//将菜单添加到菜单条上
		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("记事本");
		this.setSize(500, 400);//
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		
		
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Demo12 demo12=new Demo12();
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值