
java ---- MenuFrame事件(二)
M.add(pi_Left); //为弹出初菜单加入菜单子项
pi_Center = new MenuItem("居中");
pi_Center.addActionListener(new HandleAct());
popM.add(pi_Center);
pi_Right = new MenuItem("右对齐");
pi_Right.addActionListener(new HandleAct());
popM.add(pi_Right);
ta.add(popM); //将弹出菜单加载文本域上
addWindowListener(new HandleClose()); //将frame注册给窗口事件监听者
setSize(400, 200); //置frame初始化大小
setVisible(true); //置frame可见
ta_Font_Name = (ta.getFont()).getName(); //取文本域字体
ta_Font_Style = (ta.getFont()).getStyle();
new_Size = ta_Font_Style;
ta_Font_Size = (ta.getFont()).getSize();
new_Size = ta_Font_Size;
}
class HandleAct implements ActionListener { //内部类(处理菜单命令)
@Override
public void actionPerformed(ActionEvent e) { //响应动作事件
// TODO Auto-generated method stub
if (e.getActionCommand() == "退出") { //"退出"菜单命令
dispose(); //释放窗体
System.exit(0); //退出程序
} else //执行其他命令式只显示菜单项名称
ta.setText("\n\n\n\t\t\t"+"执行菜单命令" + e.getActionCommand());
}
}
class HandleMouse extends MouseAdapter { //内部类(处理鼠标事件)
public void mouseReleased(MouseEvent e) { //鼠标按键松开事件弹出菜单
if (e.isPopupTrigger()) //检查鼠标事件是否由弹出菜单引发
popM.show((Component) e.getSource(), e.getX(), e.getY());
} //将弹出菜单显示在用户鼠标单击的位置
}
class HandleItem1 implements ItemListener { //内部类(处理粗体)
@Override
public void itemStateChanged(ItemEvent e) { //响应选择型菜单项
// TODO Auto-generated method stub
if (((CheckboxMenuItem) e.getSource()).getState()) { //查看是否选中
//选择处理
new_Size = Font.BOLD;
ta.setFont(new Font(ta_Font_Name, ta_Font_Style, ta_Font_Size));
ta.setText("\n\n\n\t\t\t" + "你选择了粗体");
} else { //未选择处理
new_Style = ta_Font_Style;
ta.setFont(new Font(ta_Font_Name, ta_Font_Style, ta_Font_Size));
ta.setText("\n\n\n\t\t\t" + "你没有选择粗体");
}
}
}
class HandleItem2 implements ItemListener { //内部类(处理“大字体”)
@Override
public void itemStateChanged(ItemEvent e) { //响应选择型菜单项
// TODO Auto-generated method stub
if (((CheckboxMenuItem) e.getSource()).getState()) { //查看是否选中
//选中处理
new_Size = ta_Font_Size * 2;
ta.setFont(new Font(ta_Font_Name, new_Size, new_Style));
ta.setText("\n\n\n\t\t\t" + "你选择了大体");
} else { //未选中处理
new_Size = ta_Font_Size;
ta.setFont(new Font(ta_Font_Name, new_Style, new_Size));
ta.setText("\n\n\n\t\t\t" + "你没选择大体");
}
}
}
class HandleClose extends WindowAdapter { //处理窗口事件
public void windowClosing(WindowEvent e) { //响应窗口关闭框
dispose(); //释放窗体所占资源
System.exit(0); //退出程序
}
}
}