菜单组件
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();
}
}
具体的实现如图所示:
当点击“绘制矩形”时,屏幕上出现矩形,当点击“绘制椭圆”时屏幕上出现椭圆形。