2021-03-18

菜单组件

Menubar:用来存放菜单
Menu:用来存放菜单项(MenuItem),而Menu又继承自MenuItem,使菜单中可以有子菜单
CheckBoxMenuItem:复选框菜单项
PopupMenu:点击右键出现的菜单
接下来是菜单组件的简单演示

import JDBC.Jdbcdome1;
public class Menudome1 {
	JFrame frame=new JFrame("菜单组件的使用");     //创建窗口
	JMenuBar menubar=new JMenuBar();           //创建菜单条组件
	JMenu filemune=new JMenu("文件");           //创建菜单
	JMenu editmenu=new JMenu("编辑");           //创建菜单
	JMenu Gemune=new JMenu("格式");             //创建子菜单
	
	JMenuItem autom=new JMenuItem("自动换行");   //创建菜单项
	JMenuItem copy=new JMenuItem("复制");       //创建菜单项
	JMenuItem paste=new JMenuItem("粘贴");      //创建菜单项
	JMenuItem comment=new JMenuItem("注释");    //创建菜单项
	JMenuItem cancel=new JMenuItem("取消注释");  //创建菜单项
	TextArea tf=new TextArea(6,40);
	
	public void init() {                       //组装相关组件
		comment.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				tf.append("你好!");
				
			}
		});
		//组装菜单
		Gemune.add(comment);
		Gemune.add(cancel);
		editmenu.add(autom);
		editmenu.add(copy);
		editmenu.add(paste);
		editmenu.add(Gemune);
		//组装菜单条
		menubar.add(editmenu);
		menubar.add(filemune);
		frame.add(menubar,BorderLayout.SOUTH);
		frame.add(tf);
		
		frame.pack();
		frame.setVisible(true);
	}
	public static void main(String[] args) {
		new Menudome1().init();
	}
}

运行结果如图:
在这里插入图片描述

绘图组件

在这里只新认识一下这个功能
类比生活中的绘图,你需要画板,需要画笔以及颜料以及一些工具,在java中也同样如此,在java中真正绘图的是Graphics对象,通过与paint,update,repaint方法的结合,使其具有绘图功能,三个方法功能如下:
paint:绘制组建的外观
update:内部调用paint方法,刷新组件外观
repaint:调用update方法,刷新组件外观
如下实例:

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;

public class Simpledrawdome {
	private final String BE="rect";
	private final String CE="oval";   //设置常量,用来判断点击哪个按钮
	private String j="";              //定义变量用来接收常量
	
	JFrame frame=new JFrame("简单的绘图");
	Button b1=new Button("绘制矩形");
	Button b2=new Button("绘制椭圆");
	
	//自定义类,继承自Canvas,重写paint方法
	private class Mycanvas extends Canvas{
		@Override
		public void paint(Graphics g) {
			if(j.equals(BE))
			{  //绘制举行
				g.setColor(Color.BLUE);    //设置画笔颜色
				g.drawRect(100, 100, 150, 150);   //设置位置及大小
			}
			else if(j.equals(CE))
			{  //绘制椭圆
				g.setColor(Color.BLUE);    //设置画笔颜色
				g.drawOval(100, 100, 150, 150);   //设置位置及大小
			}
		}
	}
	Mycanvas draw=new Mycanvas();
	public void init() {
		//建立点击按钮事件
		b1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				j=BE;
				draw.repaint();
			}
		});
		b2.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				j=CE;
				draw.repaint();
			}
		});
		Panel p=new Panel();
		p.add(b1);
		p.add(b2);
		frame.add(p,BorderLayout.NORTH);
		draw.setPreferredSize(new Dimension(300,300));   //设置画板大小
		frame.add(draw);
		frame.pack();
		frame.setVisible(true);
	}
	public static void main(String[] args) {
		Simpledrawdome s=new Simpledrawdome();
		s.init();
	}
}

具体的实现如图所示:
在这里插入图片描述
当点击“绘制矩形”时,屏幕上出现矩形,当点击“绘制椭圆”时屏幕上出现椭圆形。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值