- 浏览: 685234 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (254)
- java分布式应用架构 (22)
- SSH框架整合 (6)
- java web 学习笔记 (49)
- java 学习笔记 (56)
- struts 2 学习 (6)
- Hibernate学习 (10)
- spring 学习 (2)
- 客户端编程(javascript) (4)
- IDE使用 (13)
- 生命 人生 (6)
- 系统维护 (3)
- 技术篇 (10)
- MySql (2)
- J2ME (1)
- java网络编程 (4)
- 数据库 (5)
- C/C++ (8)
- Oracle (7)
- 软件测试 (0)
- 软件的安装和部署 (0)
- Java快讯 (1)
- swt (1)
- Flex (1)
- 软件工程 (1)
- PostgreSQL (1)
- sql server2000 (2)
- 嵌入式数据库sqlite (5)
- J2EE (1)
- XML (1)
- ibatis3(MyBatis) (6)
- Linux&Unix (1)
- velocity (1)
- 回报社会 (4)
- 软件项目管理 (3)
- android研究 (3)
- C# (2)
- Objective-C (1)
- 音乐 (0)
- webx (1)
- JMS (1)
- maven软件项目管理 (1)
- 分布式服务 (0)
- 云平台 (0)
- 分布式存储 (1)
- 分布式系统架构 (0)
- 移动互联网 (1)
- ZooKeeper (1)
最新评论
-
liyys:
楼主,可不可以发这个项目的源码工程出来分享一下,少了几个类。楼 ...
仿照Hibernate实现一个SQLite的ORM框架 -
liyys:
少了一些类的源码没有粘贴出来
仿照Hibernate实现一个SQLite的ORM框架 -
honglei0412:
我使用的是这种方式获取db文件的目录但是 URL p = Fi ...
使用sqlite注意事项 -
honglei0412:
大侠 能不能说明下DbFile您是怎么做的吗?
使用sqlite注意事项 -
ahack:
刚写完mapping才发现早就有人写好了。仔细一看还都是针对的 ...
仿照Hibernate实现一个SQLite的ORM框架
1, 用buttonGroup.getSelection().getActionCommand()来获取当前选中的按钮的动作命令;
2, setEditable方法把一个组合框设置为可编辑的,注意编辑只会影响当前项,它不会改变列表的内容;
3, 设置快捷键的N种方式:
a)
JMenuItem
(String text, int mnemonic);
b) Javax.swing.Action.putValue(Action.MNEMONIC_KEY,new Integer(char));
c) Javax.swing.AbstractAction.putValue(Action.MNEMONIC_KEY,new Integer(char));
d) Javax.swing.AbstractAction.setMnemonic(char);
e) Javax.swing.AbstractAction.setMnemonic(int);
4, 设置加速器:
a) Javax.swing.JMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
b) Javax.swing.JMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
c) Javax.swing.JComponent.getInputMap(int flag).put(KeyStroke Keystroke,Object actionMapKey);
5, javax.swing.AbstractButton中包含的几个比较常用的方法:
a) setAction();
b) setHorizontalTextPosition();设置文本和突变的水平相对位置,默认RIGHT.
c) isSelected();检测是否选中.
d) setSelected();初始化选中/否.
e) setMnemonic(char); setMnemonic(int);为按钮设置快捷字符.
f) setDisplayedMnemonicIndex(int);把按钮文本中所引的字符设为下划线的.
6, 只有工具栏在一个具有边界布局或者其它任何支持NORTH,SOUTH,WEST和EAST约束布局的容器内,那么他才能够被拖动;
7, 当你关闭包含一个脱离工具栏的框架时,该工具栏就会跳回到它的原始框架内;
8, 默认情况下,工具栏是水平的,按纽是供据兰内最常见的组件,但可以把一个组合框添加到工具栏中;
9, BoxLayout会把组件增大到超过首选尺寸,如果用BoxLayout来布局一个文本框,那么该文本框可能会变得非常大,解决方法是:把最大尺寸设成首选尺寸:
a) Javax.swing.JTextField.setMaximumSize(javax.swing.JTextField.getPreferredSize());
10, 默认情况下,箱式布局中各组件间没有间距,但是有三种填充件:支柱(strut),固定件(RigidArea),胶水(Glue);
11, 当GridBagConstraints.fill = GridBagConstraints.NONE时,GridBagconstraints.anchor才起效用;
12, 在Spring中,如果要计算两个弹簧的差异,则利用Spring.sum(javax.swing.Spring,spring.minus(javax.swing.Spring))
13,对于JButton组件,也可以利用setBounds方法来直接定位和设置大小;
14, 在旧的AWT中,遍历顺序是由组件被插入到容器中的顺序所决定的,在swing中,插入顺序无关紧要-------组件的布局决定了遍历顺序;
15, 在JDK1.4中,调用Component.setFocusable(false);从焦点的遍历中移出一个组件;
16, 在JDK1.4中,有两个标准的遍历策略:
a) 纯粹的AWT应用程序使用DefaultFocusTraversalPolicy;
b) Swing应用程序使用LayoutFocusTraversalPolicy;
17, 当你构造一个Dialog对象时,你需要指定拥有者框架,所以在对话框准备显示而不是构造它的时候确定拥有者是一个更好的解决方案。技巧是让自定义类继承JPanel而不是JDialog;
18, 设置默认Focus按钮:javax.swing.JDialog.getRootPane().setDefaultButton(javax.swing.JButton);但你需要小心仅在你包装面板进入对话框之后再设置默认按钮,面板自己没有根源窗格;
19, Javax.swing.JColorChooser.reserChoosableFilters()来清除旧的文件过渡器
package com.wsy;
import java.awt.event.ActionEvent;
import java.util.HashMap;
import java.util.Map;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JInternalFrame;
import com.wsy.iframe.BookAddIFrame;
import com.wsy.iframe.BookBackIFrame;
import com.wsy.iframe.BookBorrowIFrame;
import com.wsy.iframe.BookModiAndDelIFrame;
import com.wsy.iframe.BookSearchIFrame;
import com.wsy.iframe.BookTypeAddIFrame;
import com.wsy.iframe.BookTypeModiAndDelIFrame;
import com.wsy.iframe.GengGaiMiMa;
import com.wsy.iframe.ReaderAddIFrame;
import com.wsy.iframe.ReaderModiAndDelIFrame;
import com.wsy.iframe.UserAddIFrame;
import com.wsy.iframe.UserModiAndDelIFrame;
import com.wsy.iframe.newBookCheckIFrame;
import com.wsy.iframe.newBookOrderIFrame;
import com.wsy.util.*;
/**
* 菜单和按钮的Action对象
*
*/
public class MenuActions {
private static Map<String, JInternalFrame> frames; // 子窗体集合
public static PasswordModiAction MODIFY_PASSWORD; // 修改密码窗体动作
public static UserModiAction USER_MODIFY; // 修改用户资料窗体动作
public static UserAddAction USER_ADD; // 用户添加窗体动作
public static BookSearchAction BOOK_SEARCH; // 图书搜索窗体动作
public static GiveBackAction GIVE_BACK; // 图书归还窗体动作
public static BorrowAction BORROW; // 图书借阅窗体动作
public static CheckAndAcceptNewBookAction NEWBOOK_CHECK_ACCEPT;// 修改密码动作
public static BoodOrderAction NEWBOOK_ORDER; // 新书定购窗体动作
public static BookTypeModiAction BOOKTYPE_MODIFY; // 图书类型修改窗体动作
public static BookTypeAddAction BOOKTYPE_ADD; // 图书类型添加窗体动作
public static ReaderModiAction READER_MODIFY; // 读者信息修改窗体动作
public static ReaderAddAction READER_ADD; // 读者信息添加窗体动作
public static BookModiAction BOOK_MODIFY; // 图书信息修改窗体动作
public static BookAddAction BOOK_ADD; // 图书信息添加窗体动作
public static ExitAction EXIT; // 系统退出动作
static {
frames = new HashMap<String, JInternalFrame>();
MODIFY_PASSWORD = new PasswordModiAction();
USER_MODIFY = new UserModiAction();
USER_ADD = new UserAddAction();
BOOK_SEARCH = new BookSearchAction();
GIVE_BACK = new GiveBackAction();
BORROW = new BorrowAction();
NEWBOOK_CHECK_ACCEPT = new CheckAndAcceptNewBookAction();
NEWBOOK_ORDER = new BoodOrderAction();
BOOKTYPE_MODIFY = new BookTypeModiAction();
BOOKTYPE_ADD = new BookTypeAddAction();
READER_MODIFY = new ReaderModiAction();
READER_ADD = new ReaderAddAction();
BOOK_MODIFY = new BookModiAction();
BOOK_ADD = new BookAddAction();
EXIT = new ExitAction();
}
private static class PasswordModiAction extends AbstractAction {
PasswordModiAction() {
putValue(Action.NAME,"更改口令");
putValue(Action.LONG_DESCRIPTION, "修改当前用户密码");
putValue(Action.SHORT_DESCRIPTION, "更换口令");//在“更改口令”提示中显示的文字
//putValue(Action.SMALL_ICON,CreatecdIcon.add("bookAddtb.jpg"));
//将图标存储到动作对象中
//setEnabled(false);//使动作禁用
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("更改密码")||frames.get("更改密码").isClosed()) {
GengGaiMiMa iframe=new GengGaiMiMa();
frames.put("更改密码", iframe);
Library.addIFame(frames.get("更改密码"));
}
}
}
private static class UserModiAction extends AbstractAction {
UserModiAction() {
super("用户修改与删除", null);
putValue(Action.LONG_DESCRIPTION, "修改和删除用户信息");
putValue(Action.SHORT_DESCRIPTION, "用户修改与删除");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("用户信息修改与删除")||frames.get("用户信息修改与删除").isClosed()) {
UserModiAndDelIFrame iframe=new UserModiAndDelIFrame();
frames.put("用户信息修改与删除", iframe);
Library.addIFame(frames.get("用户信息修改与删除"));
}
}
}
private static class UserAddAction extends AbstractAction {
UserAddAction() {
super("用户添加", null);
putValue(Action.LONG_DESCRIPTION, "添加新的用户");
putValue(Action.SHORT_DESCRIPTION, "用户添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("用户信息添加")||frames.get("用户信息添加").isClosed()) {
UserAddIFrame iframe=new UserAddIFrame();
frames.put("用户信息添加", iframe);
Library.addIFame(frames.get("用户信息添加"));
}
}
}
private static class BookSearchAction extends AbstractAction {
BookSearchAction() {
super("图书搜索", null);
putValue(Action.LONG_DESCRIPTION, "搜索入库的图书信息");
putValue(Action.SHORT_DESCRIPTION, "图书搜索");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书查询")||frames.get("图书查询").isClosed()) {
BookSearchIFrame iframe=new BookSearchIFrame();
frames.put("图书查询", iframe);
Library.addIFame(frames.get("图书查询"));
}
}
}
private static class GiveBackAction extends AbstractAction {
GiveBackAction() {
super("图书归还", null);
putValue(Action.LONG_DESCRIPTION, "归还借阅的图书");
putValue(Action.SHORT_DESCRIPTION, "图书归还");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书归还管理")||frames.get("图书归还管理").isClosed()) {
BookBackIFrame iframe=new BookBackIFrame();
frames.put("图书归还管理", iframe);
Library.addIFame(frames.get("图书归还管理"));
}
}
}
private static class BorrowAction extends AbstractAction {
BorrowAction() {
super("图书借阅", null);
putValue(Action.LONG_DESCRIPTION, "从图书馆借阅图书");
putValue(Action.SHORT_DESCRIPTION, "图书借阅");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书借阅管理")||frames.get("图书借阅管理").isClosed()) {
BookBorrowIFrame iframe=new BookBorrowIFrame();
frames.put("图书借阅管理", iframe);
Library.addIFame(frames.get("图书借阅管理"));
}
}
}
private static class CheckAndAcceptNewBookAction extends AbstractAction {
CheckAndAcceptNewBookAction() {
super("验收新书", null);
putValue(Action.LONG_DESCRIPTION, "验收订阅的新图书");
putValue(Action.SHORT_DESCRIPTION, "验收新书");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书验收")||frames.get("图书验收").isClosed()) {
newBookCheckIFrame iframe=new newBookCheckIFrame();
frames.put("图书验收", iframe);
Library.addIFame(frames.get("图书验收"));
}
}
}
private static class BoodOrderAction extends AbstractAction {
BoodOrderAction() {
super("新书定购", null);
putValue(Action.LONG_DESCRIPTION, "定购新的图书");
putValue(Action.SHORT_DESCRIPTION, "新书定购");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("新书订购管理")||frames.get("新书订购管理").isClosed()) {
newBookOrderIFrame iframe=new newBookOrderIFrame();
frames.put("新书订购管理", iframe);
Library.addIFame(frames.get("新书订购管理"));
}
}
}
private static class BookTypeModiAction extends AbstractAction {
BookTypeModiAction() {
super("图书类别修改", null);
putValue(Action.LONG_DESCRIPTION, "修改图书的类别信息");
putValue(Action.SHORT_DESCRIPTION, "图书类别修改");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书类别修改")||frames.get("图书类别修改").isClosed()) {
BookTypeModiAndDelIFrame iframe=new BookTypeModiAndDelIFrame();
frames.put("图书类别修改", iframe);
Library.addIFame(frames.get("图书类别修改"));
}
}
}
private static class BookTypeAddAction extends AbstractAction {
BookTypeAddAction() {
super("图书类别添加", null);
putValue(Action.LONG_DESCRIPTION, "为图书馆添加新的图书类别");
putValue(Action.SHORT_DESCRIPTION, "图书类别添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书类别添加")||frames.get("图书类别添加").isClosed()) {
BookTypeAddIFrame iframe=new BookTypeAddIFrame();
frames.put("图书类别添加", iframe);
Library.addIFame(frames.get("图书类别添加"));
}
}
}
private static class ReaderModiAction extends AbstractAction {
ReaderModiAction() {
super("读者修改与删除", null);
putValue(Action.LONG_DESCRIPTION, "修改和删除读者的基本信息");
putValue(Action.SHORT_DESCRIPTION, "读者修改与删除");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("读者信息修改与删除")||frames.get("读者信息修改与删除").isClosed()) {
ReaderModiAndDelIFrame iframe=new ReaderModiAndDelIFrame();
frames.put("读者信息修改与删除", iframe);
Library.addIFame(frames.get("读者信息修改与删除"));
}
}
}
private static class ReaderAddAction extends AbstractAction {
ReaderAddAction() {
super("读者信息添加", null);
putValue(Action.LONG_DESCRIPTION, "为图书馆添加新的读者会员信息");
putValue(Action.SHORT_DESCRIPTION, "读者信息添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("读者相关信息添加")||frames.get("读者相关信息添加").isClosed()) {
ReaderAddIFrame iframe=new ReaderAddIFrame();
frames.put("读者相关信息添加", iframe);
Library.addIFame(frames.get("读者相关信息添加"));
}
}
}
//图书修改与删除
private static class BookModiAction extends AbstractAction {
BookModiAction() {
super("图书修改", null);
putValue(Action.LONG_DESCRIPTION, "修改和删除图书信息");
putValue(Action.SHORT_DESCRIPTION, "图书修改");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书修改")||frames.get("图书修改").isClosed()) {
BookModiAndDelIFrame iframe=new BookModiAndDelIFrame();
frames.put("图书修改", iframe);
Library.addIFame(frames.get("图书修改"));
}
}
}
private static class BookAddAction extends AbstractAction { // 图书信息添加---已经实现,请参照
BookAddAction() {
super("图书信息添加", null);
//super();
putValue(Action.LONG_DESCRIPTION, "为图书馆添加新的图书信息");
putValue(Action.SHORT_DESCRIPTION, "图书信息添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书信息添加")||frames.get("图书信息添加").isClosed()) {
BookAddIFrame iframe = new BookAddIFrame();
frames.put("图书信息添加", iframe);
Library.addIFame(frames.get("图书信息添加"));
}
}
}
private static class ExitAction extends AbstractAction { // 退出系统动作
public ExitAction() {
super("退出系统", null);
putValue(Action.LONG_DESCRIPTION, "退出图书馆管理系统");
putValue(Action.SHORT_DESCRIPTION, "退出系统");
}
public void actionPerformed(final ActionEvent e) {
System.exit(0);
}
}
private MenuActions() {
super();
}
}
2, setEditable方法把一个组合框设置为可编辑的,注意编辑只会影响当前项,它不会改变列表的内容;
3, 设置快捷键的N种方式:
a)
JMenuItem
(String text, int mnemonic);
b) Javax.swing.Action.putValue(Action.MNEMONIC_KEY,new Integer(char));
c) Javax.swing.AbstractAction.putValue(Action.MNEMONIC_KEY,new Integer(char));
d) Javax.swing.AbstractAction.setMnemonic(char);
e) Javax.swing.AbstractAction.setMnemonic(int);
4, 设置加速器:
a) Javax.swing.JMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
b) Javax.swing.JMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
c) Javax.swing.JComponent.getInputMap(int flag).put(KeyStroke Keystroke,Object actionMapKey);
5, javax.swing.AbstractButton中包含的几个比较常用的方法:
a) setAction();
b) setHorizontalTextPosition();设置文本和突变的水平相对位置,默认RIGHT.
c) isSelected();检测是否选中.
d) setSelected();初始化选中/否.
e) setMnemonic(char); setMnemonic(int);为按钮设置快捷字符.
f) setDisplayedMnemonicIndex(int);把按钮文本中所引的字符设为下划线的.
6, 只有工具栏在一个具有边界布局或者其它任何支持NORTH,SOUTH,WEST和EAST约束布局的容器内,那么他才能够被拖动;
7, 当你关闭包含一个脱离工具栏的框架时,该工具栏就会跳回到它的原始框架内;
8, 默认情况下,工具栏是水平的,按纽是供据兰内最常见的组件,但可以把一个组合框添加到工具栏中;
9, BoxLayout会把组件增大到超过首选尺寸,如果用BoxLayout来布局一个文本框,那么该文本框可能会变得非常大,解决方法是:把最大尺寸设成首选尺寸:
a) Javax.swing.JTextField.setMaximumSize(javax.swing.JTextField.getPreferredSize());
10, 默认情况下,箱式布局中各组件间没有间距,但是有三种填充件:支柱(strut),固定件(RigidArea),胶水(Glue);
11, 当GridBagConstraints.fill = GridBagConstraints.NONE时,GridBagconstraints.anchor才起效用;
12, 在Spring中,如果要计算两个弹簧的差异,则利用Spring.sum(javax.swing.Spring,spring.minus(javax.swing.Spring))
13,对于JButton组件,也可以利用setBounds方法来直接定位和设置大小;
14, 在旧的AWT中,遍历顺序是由组件被插入到容器中的顺序所决定的,在swing中,插入顺序无关紧要-------组件的布局决定了遍历顺序;
15, 在JDK1.4中,调用Component.setFocusable(false);从焦点的遍历中移出一个组件;
16, 在JDK1.4中,有两个标准的遍历策略:
a) 纯粹的AWT应用程序使用DefaultFocusTraversalPolicy;
b) Swing应用程序使用LayoutFocusTraversalPolicy;
17, 当你构造一个Dialog对象时,你需要指定拥有者框架,所以在对话框准备显示而不是构造它的时候确定拥有者是一个更好的解决方案。技巧是让自定义类继承JPanel而不是JDialog;
18, 设置默认Focus按钮:javax.swing.JDialog.getRootPane().setDefaultButton(javax.swing.JButton);但你需要小心仅在你包装面板进入对话框之后再设置默认按钮,面板自己没有根源窗格;
19, Javax.swing.JColorChooser.reserChoosableFilters()来清除旧的文件过渡器
package com.wsy;
import java.awt.event.ActionEvent;
import java.util.HashMap;
import java.util.Map;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JInternalFrame;
import com.wsy.iframe.BookAddIFrame;
import com.wsy.iframe.BookBackIFrame;
import com.wsy.iframe.BookBorrowIFrame;
import com.wsy.iframe.BookModiAndDelIFrame;
import com.wsy.iframe.BookSearchIFrame;
import com.wsy.iframe.BookTypeAddIFrame;
import com.wsy.iframe.BookTypeModiAndDelIFrame;
import com.wsy.iframe.GengGaiMiMa;
import com.wsy.iframe.ReaderAddIFrame;
import com.wsy.iframe.ReaderModiAndDelIFrame;
import com.wsy.iframe.UserAddIFrame;
import com.wsy.iframe.UserModiAndDelIFrame;
import com.wsy.iframe.newBookCheckIFrame;
import com.wsy.iframe.newBookOrderIFrame;
import com.wsy.util.*;
/**
* 菜单和按钮的Action对象
*
*/
public class MenuActions {
private static Map<String, JInternalFrame> frames; // 子窗体集合
public static PasswordModiAction MODIFY_PASSWORD; // 修改密码窗体动作
public static UserModiAction USER_MODIFY; // 修改用户资料窗体动作
public static UserAddAction USER_ADD; // 用户添加窗体动作
public static BookSearchAction BOOK_SEARCH; // 图书搜索窗体动作
public static GiveBackAction GIVE_BACK; // 图书归还窗体动作
public static BorrowAction BORROW; // 图书借阅窗体动作
public static CheckAndAcceptNewBookAction NEWBOOK_CHECK_ACCEPT;// 修改密码动作
public static BoodOrderAction NEWBOOK_ORDER; // 新书定购窗体动作
public static BookTypeModiAction BOOKTYPE_MODIFY; // 图书类型修改窗体动作
public static BookTypeAddAction BOOKTYPE_ADD; // 图书类型添加窗体动作
public static ReaderModiAction READER_MODIFY; // 读者信息修改窗体动作
public static ReaderAddAction READER_ADD; // 读者信息添加窗体动作
public static BookModiAction BOOK_MODIFY; // 图书信息修改窗体动作
public static BookAddAction BOOK_ADD; // 图书信息添加窗体动作
public static ExitAction EXIT; // 系统退出动作
static {
frames = new HashMap<String, JInternalFrame>();
MODIFY_PASSWORD = new PasswordModiAction();
USER_MODIFY = new UserModiAction();
USER_ADD = new UserAddAction();
BOOK_SEARCH = new BookSearchAction();
GIVE_BACK = new GiveBackAction();
BORROW = new BorrowAction();
NEWBOOK_CHECK_ACCEPT = new CheckAndAcceptNewBookAction();
NEWBOOK_ORDER = new BoodOrderAction();
BOOKTYPE_MODIFY = new BookTypeModiAction();
BOOKTYPE_ADD = new BookTypeAddAction();
READER_MODIFY = new ReaderModiAction();
READER_ADD = new ReaderAddAction();
BOOK_MODIFY = new BookModiAction();
BOOK_ADD = new BookAddAction();
EXIT = new ExitAction();
}
private static class PasswordModiAction extends AbstractAction {
PasswordModiAction() {
putValue(Action.NAME,"更改口令");
putValue(Action.LONG_DESCRIPTION, "修改当前用户密码");
putValue(Action.SHORT_DESCRIPTION, "更换口令");//在“更改口令”提示中显示的文字
//putValue(Action.SMALL_ICON,CreatecdIcon.add("bookAddtb.jpg"));
//将图标存储到动作对象中
//setEnabled(false);//使动作禁用
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("更改密码")||frames.get("更改密码").isClosed()) {
GengGaiMiMa iframe=new GengGaiMiMa();
frames.put("更改密码", iframe);
Library.addIFame(frames.get("更改密码"));
}
}
}
private static class UserModiAction extends AbstractAction {
UserModiAction() {
super("用户修改与删除", null);
putValue(Action.LONG_DESCRIPTION, "修改和删除用户信息");
putValue(Action.SHORT_DESCRIPTION, "用户修改与删除");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("用户信息修改与删除")||frames.get("用户信息修改与删除").isClosed()) {
UserModiAndDelIFrame iframe=new UserModiAndDelIFrame();
frames.put("用户信息修改与删除", iframe);
Library.addIFame(frames.get("用户信息修改与删除"));
}
}
}
private static class UserAddAction extends AbstractAction {
UserAddAction() {
super("用户添加", null);
putValue(Action.LONG_DESCRIPTION, "添加新的用户");
putValue(Action.SHORT_DESCRIPTION, "用户添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("用户信息添加")||frames.get("用户信息添加").isClosed()) {
UserAddIFrame iframe=new UserAddIFrame();
frames.put("用户信息添加", iframe);
Library.addIFame(frames.get("用户信息添加"));
}
}
}
private static class BookSearchAction extends AbstractAction {
BookSearchAction() {
super("图书搜索", null);
putValue(Action.LONG_DESCRIPTION, "搜索入库的图书信息");
putValue(Action.SHORT_DESCRIPTION, "图书搜索");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书查询")||frames.get("图书查询").isClosed()) {
BookSearchIFrame iframe=new BookSearchIFrame();
frames.put("图书查询", iframe);
Library.addIFame(frames.get("图书查询"));
}
}
}
private static class GiveBackAction extends AbstractAction {
GiveBackAction() {
super("图书归还", null);
putValue(Action.LONG_DESCRIPTION, "归还借阅的图书");
putValue(Action.SHORT_DESCRIPTION, "图书归还");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书归还管理")||frames.get("图书归还管理").isClosed()) {
BookBackIFrame iframe=new BookBackIFrame();
frames.put("图书归还管理", iframe);
Library.addIFame(frames.get("图书归还管理"));
}
}
}
private static class BorrowAction extends AbstractAction {
BorrowAction() {
super("图书借阅", null);
putValue(Action.LONG_DESCRIPTION, "从图书馆借阅图书");
putValue(Action.SHORT_DESCRIPTION, "图书借阅");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书借阅管理")||frames.get("图书借阅管理").isClosed()) {
BookBorrowIFrame iframe=new BookBorrowIFrame();
frames.put("图书借阅管理", iframe);
Library.addIFame(frames.get("图书借阅管理"));
}
}
}
private static class CheckAndAcceptNewBookAction extends AbstractAction {
CheckAndAcceptNewBookAction() {
super("验收新书", null);
putValue(Action.LONG_DESCRIPTION, "验收订阅的新图书");
putValue(Action.SHORT_DESCRIPTION, "验收新书");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书验收")||frames.get("图书验收").isClosed()) {
newBookCheckIFrame iframe=new newBookCheckIFrame();
frames.put("图书验收", iframe);
Library.addIFame(frames.get("图书验收"));
}
}
}
private static class BoodOrderAction extends AbstractAction {
BoodOrderAction() {
super("新书定购", null);
putValue(Action.LONG_DESCRIPTION, "定购新的图书");
putValue(Action.SHORT_DESCRIPTION, "新书定购");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("新书订购管理")||frames.get("新书订购管理").isClosed()) {
newBookOrderIFrame iframe=new newBookOrderIFrame();
frames.put("新书订购管理", iframe);
Library.addIFame(frames.get("新书订购管理"));
}
}
}
private static class BookTypeModiAction extends AbstractAction {
BookTypeModiAction() {
super("图书类别修改", null);
putValue(Action.LONG_DESCRIPTION, "修改图书的类别信息");
putValue(Action.SHORT_DESCRIPTION, "图书类别修改");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书类别修改")||frames.get("图书类别修改").isClosed()) {
BookTypeModiAndDelIFrame iframe=new BookTypeModiAndDelIFrame();
frames.put("图书类别修改", iframe);
Library.addIFame(frames.get("图书类别修改"));
}
}
}
private static class BookTypeAddAction extends AbstractAction {
BookTypeAddAction() {
super("图书类别添加", null);
putValue(Action.LONG_DESCRIPTION, "为图书馆添加新的图书类别");
putValue(Action.SHORT_DESCRIPTION, "图书类别添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书类别添加")||frames.get("图书类别添加").isClosed()) {
BookTypeAddIFrame iframe=new BookTypeAddIFrame();
frames.put("图书类别添加", iframe);
Library.addIFame(frames.get("图书类别添加"));
}
}
}
private static class ReaderModiAction extends AbstractAction {
ReaderModiAction() {
super("读者修改与删除", null);
putValue(Action.LONG_DESCRIPTION, "修改和删除读者的基本信息");
putValue(Action.SHORT_DESCRIPTION, "读者修改与删除");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("读者信息修改与删除")||frames.get("读者信息修改与删除").isClosed()) {
ReaderModiAndDelIFrame iframe=new ReaderModiAndDelIFrame();
frames.put("读者信息修改与删除", iframe);
Library.addIFame(frames.get("读者信息修改与删除"));
}
}
}
private static class ReaderAddAction extends AbstractAction {
ReaderAddAction() {
super("读者信息添加", null);
putValue(Action.LONG_DESCRIPTION, "为图书馆添加新的读者会员信息");
putValue(Action.SHORT_DESCRIPTION, "读者信息添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("读者相关信息添加")||frames.get("读者相关信息添加").isClosed()) {
ReaderAddIFrame iframe=new ReaderAddIFrame();
frames.put("读者相关信息添加", iframe);
Library.addIFame(frames.get("读者相关信息添加"));
}
}
}
//图书修改与删除
private static class BookModiAction extends AbstractAction {
BookModiAction() {
super("图书修改", null);
putValue(Action.LONG_DESCRIPTION, "修改和删除图书信息");
putValue(Action.SHORT_DESCRIPTION, "图书修改");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书修改")||frames.get("图书修改").isClosed()) {
BookModiAndDelIFrame iframe=new BookModiAndDelIFrame();
frames.put("图书修改", iframe);
Library.addIFame(frames.get("图书修改"));
}
}
}
private static class BookAddAction extends AbstractAction { // 图书信息添加---已经实现,请参照
BookAddAction() {
super("图书信息添加", null);
//super();
putValue(Action.LONG_DESCRIPTION, "为图书馆添加新的图书信息");
putValue(Action.SHORT_DESCRIPTION, "图书信息添加");
}
public void actionPerformed(ActionEvent e) {
if (!frames.containsKey("图书信息添加")||frames.get("图书信息添加").isClosed()) {
BookAddIFrame iframe = new BookAddIFrame();
frames.put("图书信息添加", iframe);
Library.addIFame(frames.get("图书信息添加"));
}
}
}
private static class ExitAction extends AbstractAction { // 退出系统动作
public ExitAction() {
super("退出系统", null);
putValue(Action.LONG_DESCRIPTION, "退出图书馆管理系统");
putValue(Action.SHORT_DESCRIPTION, "退出系统");
}
public void actionPerformed(final ActionEvent e) {
System.exit(0);
}
}
private MenuActions() {
super();
}
}
发表评论
-
Java编程中“为了性能”尽量要做到的一些地方
2012-09-14 10:33 12211. 尽量在合适的场合使 ... -
Java 5.0多线程编程
2012-08-17 19:16 1064概述 1:三个新加的多线程包 2:C ... -
Thread.setDaemon设置说明
2012-06-28 18:00 1152Thread.setDaemon的用法,经过学习以后了解: ... -
JVM运行时数据区
2012-03-07 13:15 1005JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些 ... -
使用ibatis防止sql注入
2011-12-19 19:59 4660为了防止SQL注入,iBatis模糊查询时也要避免使用$$来进 ... -
java的引用探讨
2011-12-18 16:03 1125Reference 是一个抽象类,而 SoftReferenc ... -
ClassLoader
2011-11-04 15:11 1194package org.liufei.neta.lib; ... -
仿照Hibernate实现一个SQLite的ORM框架
2011-09-30 20:06 3196那么先来看看使用 实体对象 package test; ... -
java压缩文件
2011-09-20 11:09 1295package org.liufei.net.util; ... -
获取客户机IP地址
2011-09-07 15:04 1033package org.liufei.jweb; imp ... -
Java读取本地机器MAC地址
2011-09-07 15:01 1299package org.liufei.jweb; imp ... -
获取IP地址
2011-09-07 13:41 2422public String getIpAddrByReques ... -
用CSS来美化Java桌面--Javacss
2011-09-02 12:14 1329CSS可以用来修饰HTML网页。 但你有没有想过,使用CSS ... -
java管理windows进程
2011-08-29 17:34 1780package org.zzuli.xmsb; /** ... -
java html工具
2011-08-29 17:26 1085package org.liufei.jweb.util; ... -
java将汉字转化为全拼
2011-08-29 17:24 1233package org.liufei.jweb.util; ... -
开源项目SVN源码地址
2011-08-22 16:20 3554多优秀的开源项目已经提供SVN源码签出了,无论是解疑还是学习, ... -
XML解析
2011-08-22 09:58 10221、DOM解析XML <?xml version=&q ... -
jdbc操作大观园
2011-08-09 17:22 1385最近公司使用jdbc和mybatis比较多,于是自己试着写了一 ... -
Windows XP系统总命令集合
2011-08-05 14:08 1076Windows XP系统总命令集合 winver----- ...
相关推荐
import javax.swing.AbstractAction; import javax.swing.Action; import java.awt.event.ActionEvent; public class ButtonExample { public static void main(String[] args) { JFrame frame = new JFrame(); ...
import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Box; import javax.swing.ButtonGroup; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton;...
import javax.swing.AbstractAction; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; ...
import javax.swing.AbstractAction; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; ...
在Java Swing中,`javax.swing` 包是核心部分,包含了大量用于创建用户界面的类和接口。 首先,`AbstractAction` 类是 `Action` 接口的实现,它为按钮、菜单项等组件提供行为。它支持可克隆、可序列化,并允许动作...
2. **ViewerAction**:这是一个继承自`javax.swing.AbstractAction`的类,用于处理用户操作的事件。比如,当用户点击“打开”、“放大”或“缩小”按钮时,对应的`ViewerAction`实例会触发相应的逻辑。 3. **...
import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; public class MenuFrame extends JFrame { public MenuFrame() ...
在Swing中,组件通常被称为JComponents,因为它们继承自`javax.swing.JComponent`类。下面将详细探讨Swing用户界面组件及其主要特点。 1. **基本组件** - **JButton**: 这是最常见的组件,用于创建按钮。可以设置...
Swing库提供了一个更现代的事件模型,推荐使用`java.awt.event.ActionEvent`和`javax.swing.Action`。尽管如此,`KeyListener`在Swing中仍然可用。不过,为了更好的事件处理,可以使用`Key Bindings`,如下所示: `...
- 导入必要的Swing库:`import javax.swing.*;` - 创建JFrame实例,并添加组件:`JFrame frame = new JFrame("我的窗体"); JButton button = new JButton("点击我"); frame.getContentPane().add(button);` - ...
import javax.swing.*; import org.jdesktop.swingx.*; ``` 2. **定义动作类** ```java class SubAction extends AbstractAction { SubAction() { super("clickit"); } public void actionPerformed...
import javax.swing.JFrame; import javax.swing.JTextField; public class CtrlKeyDetector { public static void main(String[] args) { JFrame frame = new JFrame("Ctrl Key Detector"); JTextField ...
`AbstractAction`是`javax.swing.Action`接口的一个具体实现,提供了创建可复用行为的框架,这些行为可以绑定到按钮、菜单项等组件上。 **1. 命令模式介绍** 命令模式是一种设计模式,它将请求封装为一个对象,以便...
- **实验原理**:使用`javax.swing`包中的组件和布局管理器来构建GUI。`JComponent`是所有Swing组件的基类,继承自`java.awt.Container`。`JFrame`和`JDialog`分别代表窗口和对话框,是`Window`类的子类。 5. **...
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ActionListenerExample { public static void main(String[] args) { JFrame frame = new ...
2. **创建ComboBox**:在Java Swing中,可以使用`javax.swing.JComboBox`类来创建ComboBox。例如: ```java JComboBox<String> comboBox = new JComboBox(new String[]{"Option 1", "Option 2", "Option 3"}); ``...