亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? criterionsetpanel.java

?? Java企業人事管理系統源碼javahr 配置Oracle數據庫 在配置Oracle數據庫時
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
								JOptionPane.INFORMATION_MESSAGE);
					}
				}
			}
		});
		delItemButton.setText("刪除項目");
		buttonPanel.add(delItemButton);

		final JButton updateMoneyButton = new JButton();
		updateMoneyButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int leftSelectedRow = leftTable.getSelectedRow();// 獲得選中的賬套
				if (needSaveRow == -1 || needSaveRow == leftSelectedRow) {
					int rightSelectedRow = rightTable.getSelectedRow();
					if (rightSelectedRow == -1) {
						JOptionPane.showMessageDialog(null, "現在已經沒有任何項目信息!",
								"友情提示", JOptionPane.INFORMATION_MESSAGE);
						return;
					} else {
						updateItemMoney(leftSelectedRow, rightSelectedRow);
					}
				} else {
					JOptionPane.showMessageDialog(null, "請先保存賬套: "
							+ leftTable.getValueAt(needSaveRow, 1), "友情提示",
							JOptionPane.INFORMATION_MESSAGE);
				}
			}
		});
		updateMoneyButton.setText("修改金額");
		buttonPanel.add(updateMoneyButton);

		final JLabel rightLabel = new JLabel();
		rightLabel.setPreferredSize(new Dimension(20, 20));
		buttonPanel.add(rightLabel);

		final JButton saveButton = new JButton();
		saveButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				if (needSaveRow == -1) {
					JOptionPane.showMessageDialog(null, "當前沒有需要保存的賬套!", "友情提示",
							JOptionPane.INFORMATION_MESSAGE);
					return;
				} else {
					leftTable.setRowSelectionInterval(needSaveRow, needSaveRow);
					int rowCount = rightTable.getRowCount();
					if (rowCount == 0) {
						JOptionPane.showMessageDialog(null, "請為賬套“"
								+ leftTable.getValueAt(needSaveRow, 1)
								+ "”添加項目!", "友情提示",
								JOptionPane.INFORMATION_MESSAGE);
						addItem(needSaveRow);
						return;
					} else {
						for (int i = 0; i < rowCount; i++) {
							if (rightTable.getValueAt(i, 4).equals("0")) {
								String info = "請為賬套“"
										+ leftTable.getValueAt(needSaveRow, 1)
										+ "”中的項目“"
										+ rightTable.getValueAt(i, 1) + "”填寫“"
										+ rightTable.getValueAt(i, 3) + "”金額!";
								JOptionPane
										.showMessageDialog(null, info, "友情提示",
												JOptionPane.INFORMATION_MESSAGE);
								rightTable.setRowSelectionInterval(i, i);
								updateItemMoney(needSaveRow, i);
								return;
							}
						}
					}
					dao.saveOrUpdateObject(reckoningV.get(needSaveRow));
					HibernateSessionFactory.closeSession();
					//
					JOptionPane.showMessageDialog(null, "已經成功保存賬套: "
							+ leftTable.getValueAt(needSaveRow, 1) + "!",
							"友情提示", JOptionPane.INFORMATION_MESSAGE);
					needSaveRow = -1;
				}
			}
		});
		saveButton.setText("保存");
		buttonPanel.add(saveButton);

		final JSplitPane splitPane = new JSplitPane();
		splitPane.setDividerLocation(300);
		add(splitPane);

		final JScrollPane leftScrollPane = new JScrollPane();
		splitPane.setLeftComponent(leftScrollPane);
		leftScrollPane.setPreferredSize(new Dimension(240, 0));

		leftTableColumnV.add("序號");
		leftTableColumnV.add("賬套名稱");

		leftTable = new MTable(leftTableModel);
		leftTable.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				int selectedRow = leftTable.getSelectedRow();
				if (selectedRow != lastSelectedRow) {
					lastSelectedRow = selectedRow;
					refreshItemAllRowValueV(selectedRow);
				}
			}
		});
		leftTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		leftScrollPane.setViewportView(leftTable);

		final JScrollPane rightScrollPane = new JScrollPane();
		splitPane.setRightComponent(rightScrollPane);

		rightTableColumnV.add("序號");
		rightTableColumnV.add("項目名稱");
		rightTableColumnV.add("項目單位");
		rightTableColumnV.add("項目類型");
		rightTableColumnV.add("金額");

		rightTable = new MTable(rightTableModel);
		rightTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		rightScrollPane.setViewportView(rightTable);

		final JPanel explainPanel = new JPanel();
		add(explainPanel, BorderLayout.SOUTH);
		explainPanel.setLayout(new GridBagLayout());
		explainPanel.setBorder(new TitledBorder(null, "",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		explainPanel.setBackground(Color.WHITE);

		final JLabel explainLabel = new JLabel();
		explainLabel.setText("賬套說明:");
		final GridBagConstraints gridBagConstraints = new GridBagConstraints();
		gridBagConstraints.insets = new Insets(0, 0, 60, 0);
		gridBagConstraints.gridx = 0;
		gridBagConstraints.gridy = 0;
		explainPanel.add(explainLabel, gridBagConstraints);

		final JScrollPane explainScrollPane = new JScrollPane();
		explainScrollPane.setPreferredSize(new Dimension(766, 80));
		final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();
		gridBagConstraints_1.gridx = 1;
		gridBagConstraints_1.gridy = 0;
		explainPanel.add(explainScrollPane, gridBagConstraints_1);

		textArea = new JTextArea();
		textArea.setText(reckoningExplain);
		textArea.setEditable(false);
		textArea.setLineWrap(true);
		explainScrollPane.setViewportView(textArea);
		//
		Iterator reckoningIt = dao.queryReckoning().iterator();
		int reckoningNum = 1;
		while (reckoningIt.hasNext()) {
			TbReckoning reckoning = (TbReckoning) reckoningIt.next();
			reckoningV.add(reckoning);
			Vector<String> rowValueV = new Vector<String>();
			rowValueV.add(reckoningNum++ + "");
			rowValueV.add(reckoning.getName());
			leftTableValueV.add(rowValueV);
		}
		leftTableModel.setDataVector(leftTableValueV, leftTableColumnV);
		if (leftTable.getRowCount() > 0)
			leftTable.setRowSelectionInterval(0, 0);// 默認選中第一行(從a行到b行)

		refreshItemAllRowValueV(0);
		HibernateSessionFactory.closeSession();
	}

	public void refreshItemAllRowValueV(int row) {
		rightTableValueV.removeAllElements();
		if (reckoningV.size() > 0) {
			TbReckoning reckoning = reckoningV.get(row);
			textArea.setText(reckoning.getExplain());
			Iterator<TbReckoningInfo> reckoningInfoIt = reckoning
					.getTbReckoningInfos().iterator();
			int reckoningInfoNum = 1;
			while (reckoningInfoIt.hasNext()) {
				TbReckoningInfo reckoningInfo = reckoningInfoIt.next();
				Vector<String> reckoningInfoV = new Vector<String>();
				reckoningInfoV.add(reckoningInfoNum++ + "");
				reckoningInfoV.add(reckoningInfo.getTbAccountItem().getName());
				reckoningInfoV.add(reckoningInfo.getTbAccountItem().getUnit());
				reckoningInfoV.add(reckoningInfo.getTbAccountItem().getType());
				reckoningInfoV.add(reckoningInfo.getMoney().toString());
				rightTableValueV.add(reckoningInfoV);
			}
		} else {
			textArea.setText("");
		}
		rightTableModel.setDataVector(rightTableValueV, rightTableColumnV);
		if (rightTable.getRowCount() > 0)
			rightTable.setRowSelectionInterval(0, 0);
	}

	public void addItem(int leftSelectedRow) {
		AddAccountItemDialog addAccountItemDialog = new AddAccountItemDialog();
		addAccountItemDialog.setBounds((width - 500) / 2, (height - 375) / 2,
				500, 375);
		addAccountItemDialog.setVisible(true);// 彈出添加項目對話框
		//
		JTable itemTable = addAccountItemDialog.getTable();// 獲得對話框中的表格對象
		int[] selectedRows = itemTable.getSelectedRows();// 獲得選中行的索引
		if (selectedRows.length > 0) {// 有新添加的項目
			needSaveRow = leftSelectedRow;// 設置當前賬套為需要保存的賬套
			int defaultSelectedRow = rightTable.getRowCount();// 將選中行設置為新添加項目的第一行
			TbReckoning reckoning = reckoningV.get(leftSelectedRow);// 獲得選中賬套的對象
			for (int i = 0; i < selectedRows.length; i++) {// 通過循環向賬套中添加項目
				String name = itemTable.getValueAt(selectedRows[i], 1)
						.toString();// 獲得項目名稱
				String unit = itemTable.getValueAt(selectedRows[i], 2)
						.toString();// 獲得項目單位
				Iterator<TbReckoningInfo> reckoningInfoIt = reckoning
						.getTbReckoningInfos().iterator();// 遍歷賬套中的現有項目
				boolean had = false;// 默認在現有項目中不包含新添加的項目
				while (reckoningInfoIt.hasNext()) {// 通過循環查找是否存在
					TbAccountItem accountItem = reckoningInfoIt.next()
							.getTbAccountItem();// 獲得已有的項目對象
					if (accountItem.getName().equals(name)
							&& accountItem.getUnit().equals(unit)) {
						had = true;// 存在
						break;// 跳出循環
					}
				}
				if (!had) {// 如果沒有則添加
					TbReckoningInfo reckoningInfo = new TbReckoningInfo();// 創建賬套信息對象
					TbAccountItem accountItem = (TbAccountItem) dao
							.queryAccountItemByNameUnit(name, unit);// 獲得賬套項目對象
					accountItem.getTbReckoningInfos().add(reckoningInfo);// 建立從賬套項目對象到賬套信息對象的關聯
					reckoningInfo.setTbAccountItem(accountItem);// 建立從賬套信息對象到賬套項目對象的關聯
					reckoningInfo.setMoney(0);// 設置項目金額為0
					reckoningInfo.setTbReckoning(reckoning);// 建立從賬套信息對象到賬套對象的關聯
					reckoning.getTbReckoningInfos().add(reckoningInfo);// 建立從賬套對象到賬套信息對象的關聯
				}
			}
			refreshItemAllRowValueV(leftSelectedRow);// 同步刷新右側的賬套項目表格
			rightTable.setRowSelectionInterval(defaultSelectedRow,
					defaultSelectedRow);// 設置新添加項目的第一行為選中行
			addAccountItemDialog.dispose();// 銷毀添加項目對話框
		}
	}

	public void updateItemMoney(int leftSelectedRow, int rightSelectedRow) {
		String money = null;
		done: while (true) {
			money = JOptionPane.showInputDialog(null, "請填寫"
					+ rightTable.getValueAt(rightSelectedRow, 1) + "的"
					+ rightTable.getValueAt(rightSelectedRow, 3).toString().trim() + "金額:",
					"修改金額", JOptionPane.INFORMATION_MESSAGE);
			if (money == null) {// 用戶單擊“取消”按鈕
				break done;// 取消修改
			} else {// 用戶單擊“確定”按鈕
				if (money.equals("")) {// 未輸入金額,彈出提示對話框
					JOptionPane.showMessageDialog(null, "請輸入金額!", "友情提示",
							JOptionPane.INFORMATION_MESSAGE);
				} else {// 輸入了金額
					Pattern pattern = Pattern.compile("[1-9][0-9]{0,5}");// 金額必須在1——999999之間
					Matcher matcher = pattern.matcher(money);// 通過正則表達式判斷是否符合要求
					if (matcher.matches()) {// 符合要求
						needSaveRow = leftSelectedRow;// 設置當前賬套為需要保存的賬套
						rightTable.setValueAt(money, rightSelectedRow, 4);// 修改項目金額
						int nextSelectedRow = rightSelectedRow + 1;// 默認存在下一行
						if (nextSelectedRow < rightTable.getRowCount()) {// 存在下一行
							rightTable.setRowSelectionInterval(nextSelectedRow,
									nextSelectedRow);
						}
						//
						String name = rightTable
								.getValueAt(rightSelectedRow, 1).toString();// 獲得項目名稱
						String unit = rightTable
								.getValueAt(rightSelectedRow, 2).toString();// 獲得項目單位
						TbReckoning reckoning = reckoningV.get(leftSelectedRow);// 獲得選中賬套的對象
						Iterator reckoningInfoIt = reckoning
								.getTbReckoningInfos().iterator();// 遍歷項目
						while (reckoningInfoIt.hasNext()) {// 通過循環查找選中項目
							TbReckoningInfo reckoningInfo = (TbReckoningInfo) reckoningInfoIt
									.next();
							TbAccountItem accountItem = reckoningInfo
									.getTbAccountItem();
							if (accountItem.getName().equals(name)
									&& accountItem.getUnit().equals(unit)) {
								reckoningInfo.setMoney(new Integer(money));// 修改金額
								break;// 跳出循環
							}
						}
						break done;// 修改完成
					} else {// 不符合要求,彈出提示對話框
						String infos[] = { "金額輸入錯誤,請重新輸入!",
								"金額必須為0——999999之間的整數!" };
						JOptionPane.showMessageDialog(null, infos, "友情提示",
								JOptionPane.INFORMATION_MESSAGE);
					}
				}
			}
		}
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二三| 免费亚洲电影在线| 久久色中文字幕| 精品动漫一区二区三区在线观看| 欧美日韩另类一区| 欧美人xxxx| 日韩免费成人网| 精品成人免费观看| 国产精品麻豆欧美日韩ww| 欧美国产日本视频| 亚洲免费在线看| 亚洲一二三四久久| 舔着乳尖日韩一区| 美女国产一区二区三区| 国产伦精品一区二区三区免费| 国产精品亚洲视频| 91麻豆精东视频| 欧美精品国产精品| 精品国产网站在线观看| 国产亚洲一区二区三区在线观看| 国产精品久久久久久福利一牛影视| 欧美国产乱子伦| 一区二区三区四区亚洲| 日韩精品久久理论片| 国产美女精品一区二区三区| 白白色 亚洲乱淫| 91亚洲午夜精品久久久久久| 欧美精品 国产精品| 亚洲精品一区二区在线观看| 国产精品电影一区二区| 亚洲电影激情视频网站| 国产一区二区主播在线| 91精品免费观看| 久久久久亚洲蜜桃| 悠悠色在线精品| 激情综合亚洲精品| 色综合天天综合网天天看片| 欧美刺激午夜性久久久久久久| 亚洲国产精华液网站w| 亚洲高清免费在线| 国产成人免费视频一区| 欧美中文字幕不卡| 国产午夜精品久久久久久免费视| 亚洲欧美aⅴ...| 国产在线播精品第三| 欧美日韩一区小说| 国产精品天美传媒| 老司机午夜精品99久久| 一本色道**综合亚洲精品蜜桃冫| 欧美电影免费提供在线观看| 悠悠色在线精品| 成人aa视频在线观看| 精品盗摄一区二区三区| 日日骚欧美日韩| 在线观看免费视频综合| 国产精品麻豆久久久| 极品美女销魂一区二区三区| 欧美久久久久久久久中文字幕| 中文字幕在线观看一区二区| 国产一区高清在线| 欧美zozo另类异族| 日韩精品久久理论片| 欧美日产在线观看| 一区二区三区高清在线| 色综合婷婷久久| 国产精品久久久久影视| 国产激情一区二区三区四区 | 国产精品国产精品国产专区不蜜| 奇米精品一区二区三区在线观看| 欧美在线视频全部完| 亚洲日本韩国一区| 91在线观看视频| **欧美大码日韩| www.日本不卡| 国产精品不卡一区| 91捆绑美女网站| 亚洲免费色视频| 欧美亚洲一区二区在线观看| 亚洲伦理在线免费看| 在线欧美小视频| 亚洲成人高清在线| 91精品在线一区二区| 奇米影视一区二区三区| 日韩欧美在线网站| 韩国在线一区二区| 欧美激情一区二区三区不卡| eeuss影院一区二区三区| 国产精品国产馆在线真实露脸| 91一区二区在线| 一区二区国产视频| 91精品国产色综合久久不卡蜜臀| 秋霞av亚洲一区二区三| 2023国产精品自拍| 成人av网站在线观看| 亚洲欧美日韩人成在线播放| 欧美午夜视频网站| 精品一区二区三区视频在线观看| 国产日韩欧美a| 色婷婷综合在线| 免费成人你懂的| 久久久亚洲精品石原莉奈| 99久久免费国产| 日韩精品国产欧美| 久久综合久久鬼色| 色综合一个色综合亚洲| 99久久伊人精品| 亚洲成人精品一区二区| 欧美精品一区二区三区四区| 成人免费视频免费观看| 亚洲午夜一区二区| 久久精品在线观看| 在线观看欧美日本| 国产精品一区在线观看你懂的| 亚洲视频你懂的| 欧美一级一区二区| 99视频精品免费视频| 喷水一区二区三区| 伊人色综合久久天天人手人婷| 日韩三级在线免费观看| 91美女在线看| 国产一区二区电影| 天天av天天翘天天综合网| 国产精品乱码一区二三区小蝌蚪| 欧美色老头old∨ideo| 国产成人自拍网| 日本aⅴ免费视频一区二区三区 | 在线欧美一区二区| 国产一区二区三区| 图片区小说区区亚洲影院| 中文字幕一区三区| 精品国产人成亚洲区| 5566中文字幕一区二区电影| av资源网一区| 国产盗摄精品一区二区三区在线 | 日韩欧美激情四射| 欧美性色黄大片| 99精品久久只有精品| 国产一区二区三区四区五区美女| 亚洲一卡二卡三卡四卡| 亚洲天堂av一区| 国产精品高潮呻吟| 国产精品免费看片| 久久精品一区二区三区av| 欧美成人精品3d动漫h| 欧美人动与zoxxxx乱| 欧美在线一区二区| 在线视频国产一区| 91极品视觉盛宴| 欧美亚洲国产怡红院影院| 97se亚洲国产综合自在线观| 成人国产精品免费观看动漫| 国产成人免费高清| 成人中文字幕在线| 成人美女视频在线看| 9色porny自拍视频一区二区| 波多野结衣欧美| 色综合久久久久综合体| 91九色最新地址| 欧美日韩小视频| 欧美一区二区三区白人| 日韩欧美美女一区二区三区| 欧美成人女星排名| 国产偷国产偷精品高清尤物| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美videos大乳护士334| 久久免费精品国产久精品久久久久| 精品久久久久99| 国产精品欧美久久久久无广告| 亚洲欧美在线视频| 亚洲成人一区二区在线观看| 免费高清在线视频一区·| 国产精品一区二区在线播放 | 日韩福利电影在线观看| 麻豆高清免费国产一区| 国产精品18久久久久久久久| 成人高清视频在线| 在线观看一区日韩| 欧美成人欧美edvon| 中文字幕日韩一区二区| 亚洲一区二区三区美女| 久久99精品久久久久久动态图 | 成人福利视频在线看| 色婷婷久久综合| 精品久久久久久久久久久久久久久 | 欧美色网站导航| 精品美女在线观看| 中文字幕一区在线| 免费在线成人网| 制服丝袜日韩国产| 国产日韩欧美一区二区三区乱码 | 夫妻av一区二区| 欧美日韩在线播| 欧美国产乱子伦 | 久久中文娱乐网| 一级做a爱片久久| 国产精品99久久久久久似苏梦涵| 在线视频亚洲一区| 日本一区二区三区免费乱视频| 亚洲国产成人91porn| 成人免费高清视频|