?? financialmainframe.java
字號:
}
return jSearchDialog;
}
/**
* This method initializes jContentPane2
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane2() {
if (jContentPane2 == null) {
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(10, 50, 37, 20));
jLabel1.setText("地點:");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(10, 10, 37, 20));
jLabel.setText("日期:");
jContentPane2 = new JPanel();
jContentPane2.setLayout(null);
jContentPane2.add(jLabel, null);
jContentPane2.add(getJTextField(), null);
jContentPane2.add(getJButton(), null);
jContentPane2.add(jLabel1, null);
jContentPane2.add(getJTextField1(), null);
jContentPane2.add(getJButton1(), null);
}
return jContentPane2;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(57, 10, 63, 20));
}
return jTextField;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(129, 10, 70, 20));
jButton.setText("查詢");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String date = jTextField.getText().trim();
((BasicTableModel)(jTable.getModel())).removeAllRow();
double sumOfMoney = 0;
for(BasicItem item:fProc.itemList){
if(date.equals(item.getDate())){
((BasicTableModel)(jTable.getModel())).appendRow(item);
sumOfMoney = sumOfMoney + item.getMoney();
}
}
jTable.updateUI();
jTextArea1.setText("日期:" + date + " 消費金額:" + sumOfMoney + "元");
}
});
}
return jButton;
}
/**
* This method initializes jTextField1
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField1() {
if (jTextField1 == null) {
jTextField1 = new JTextField();
jTextField1.setBounds(new Rectangle(57, 50, 63, 20));
}
return jTextField1;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new Rectangle(129, 50, 70, 20));
jButton1.setText("查詢");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String place = jTextField1.getText().trim();
((BasicTableModel)(jTable.getModel())).removeAllRow();
double sumOfMoney = 0;
for(BasicItem item:fProc.itemList){
if(place.equals(item.getPlace())){
((BasicTableModel)(jTable.getModel())).appendRow(item);
sumOfMoney = sumOfMoney + item.getMoney();
}
}
jTable.updateUI();
jTextArea1.setText("地點:" + place + " 消費金額:" + sumOfMoney + "元");
}
});
}
return jButton1;
}
/**
* This method initializes jMenuItem1
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItem1() {
if (jMenuItem1 == null) {
jMenuItem1 = new JMenuItem();
jMenuItem1.setText("查找...");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
getJSearchDialog().setVisible(true);
}
});
}
return jMenuItem1;
}
/**
* This method initializes jMenuItem2
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItem2() {
if (jMenuItem2 == null) {
jMenuItem2 = new JMenuItem();
jMenuItem2.setText("輸入...");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
getJDialog().setVisible(true);
}
});
}
return jMenuItem2;
}
/**
* This method initializes jDialog
*
* @return javax.swing.JDialog
*/
private JDialog getJDialog() {
if (jDialog == null) {
jDialog = new JDialog(this);
jDialog.setSize(new Dimension(306, 316));
jDialog.setTitle("輸入");
jDialog.setContentPane(getJContentPane1());
}
return jDialog;
}
/**
* This method initializes jContentPane1
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane1() {
if (jContentPane1 == null) {
jLabel5 = new JLabel();
jLabel5.setBounds(new Rectangle(156, 57, 38, 18));
jLabel5.setText("金額:");
jLabel4 = new JLabel();
jLabel4.setBounds(new Rectangle(12, 58, 38, 18));
jLabel4.setText("人數:");
jLabel3 = new JLabel();
jLabel3.setBounds(new Rectangle(158, 10, 38, 18));
jLabel3.setText("地點:");
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(12, 10, 38, 18));
jLabel2.setText("日期:");
jContentPane1 = new JPanel();
jContentPane1.setLayout(null);
jContentPane1.add(jLabel2, null);
jContentPane1.add(getJTextField2(), null);
jContentPane1.add(jLabel3, null);
jContentPane1.add(getJTextField3(), null);
jContentPane1.add(jLabel4, null);
jContentPane1.add(getJTextField4(), null);
jContentPane1.add(jLabel5, null);
jContentPane1.add(getJTextField5(), null);
jContentPane1.add(getJScrollPane3(), null);
jContentPane1.add(getJButton2(), null);
}
return jContentPane1;
}
/**
* This method initializes jTextField2
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField2() {
if (jTextField2 == null) {
jTextField2 = new JTextField();
jTextField2.setBounds(new Rectangle(54, 10, 80, 22));
}
return jTextField2;
}
/**
* This method initializes jTextField3
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField3() {
if (jTextField3 == null) {
jTextField3 = new JTextField();
jTextField3.setBounds(new Rectangle(202, 11, 80, 22));
}
return jTextField3;
}
/**
* This method initializes jTextField4
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField4() {
if (jTextField4 == null) {
jTextField4 = new JTextField();
jTextField4.setBounds(new Rectangle(55, 56, 80, 22));
}
return jTextField4;
}
/**
* This method initializes jTextField5
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField5() {
if (jTextField5 == null) {
jTextField5 = new JTextField();
jTextField5.setBounds(new Rectangle(203, 55, 80, 22));
}
return jTextField5;
}
/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
GridLayout gridLayout = new GridLayout();
jPanel1 = new JPanel();
jPanel1.setLayout(gridLayout);
jCheckBoxs = getJCheckBoxs();
gridLayout.setColumns(3);
int row = 0;
if(jCheckBoxs.size()/3.0 == jCheckBoxs.size()/3)
row = jCheckBoxs.size()/3;
else
row = jCheckBoxs.size()/3+1;
gridLayout.setRows(row);
for(JCheckBox cb:jCheckBoxs){
jPanel1.add(cb,null);
}
}
return jPanel1;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setBounds(new Rectangle(111, 249, 73, 20));
jButton2.setText("確定");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
java.util.List<String> names = new java.util.ArrayList<String>();
for(JCheckBox cb:jCheckBoxs){
if(cb.isSelected())
names.add(cb.getText().trim());
}
String date = jTextField2.getText().trim();
String place = jTextField3.getText().trim();
int num = Integer.valueOf(jTextField4.getText().trim());
double money = Double.valueOf(jTextField5.getText().trim());
for(BasicItem item:fProc.itemList){
if(date.equals(item.getDate())){
JOptionPane.showMessageDialog(null,"已有相同日期的記錄存在!",
"輸入錯誤",JOptionPane.WARNING_MESSAGE);
return;
}
}
if(num==names.size()){
((BasicTableModel)(jTable.getModel())).removeAllRow();
double average = money/num;
for(String name:names){
BasicItem item = new BasicItem(date,name,average,place);
fProc.itemList.add(item);
((BasicTableModel)(jTable.getModel())).appendRow(item);
}
jTable.updateUI();
jTextArea1.setText("日期:" + date + " 消費金額:" + money);
jDialog.setVisible(false);
}
else{
JOptionPane.showMessageDialog(null,"輸入的人數與復選框選擇的人數不一致!",
"輸入錯誤",JOptionPane.WARNING_MESSAGE);
}
}
});
}
return jButton2;
}
/**
* This method initializes jCheckBoxs
*
* @return javax.swing.JCheckBox[]
*/
private List<JCheckBox> getJCheckBoxs() {
if (jCheckBoxs==null) {
for(String s:fProc.listNames){
jCheckBoxs.add(new JCheckBox(s));
}
}
return jCheckBoxs;
}
/**
* This method initializes jMenuItem3
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItem3() {
if (jMenuItem3 == null) {
jMenuItem3 = new JMenuItem();
jMenuItem3.setText("保存");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String filePathName = "";
if(fProc.getFileFullPath().length()!=0)
filePathName = fProc.getFileFullPath();
else{
JFileChooser filech = new JFileChooser();
int rVal = filech.showSaveDialog(FinancialMainFrame.this);
if(rVal==JFileChooser.APPROVE_OPTION){
filePathName = filech.getSelectedFile().getAbsolutePath();
}
fProc.setFileFullPath(filePathName);
updateView();
}
writeToFile(filePathName);
}
});
}
return jMenuItem3;
}
/**
* This method initializes jMenuItem4
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItem4() {
if (jMenuItem4 == null) {
jMenuItem4 = new JMenuItem();
jMenuItem4.setText("刪除");
jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int selectedRow = jTable.getSelectedRow();
if(selectedRow == -1){
javax.swing.JOptionPane.showMessageDialog(null, "請選擇要刪除的記錄","刪除錯誤",JOptionPane.WARNING_MESSAGE);
return;
}
int n = JOptionPane.showConfirmDialog(null,"確定要刪除選擇的項目嗎?","刪除",JOptionPane.YES_NO_OPTION);
if(n==0){
String date = (String)(jTable.getModel().getValueAt(selectedRow, 0));
String name = (String)(jTable.getModel().getValueAt(selectedRow, 1));
((BasicTableModel)(jTable.getModel())).removeRow(selectedRow);
jTable.updateUI();
for(BasicItem item:fProc.itemList){
if(date==item.getDate() && name==item.getName()){
fProc.itemList.remove(item);
}
}
}
}
});
}
return jMenuItem4;
}
/**
* This method initializes jMenuItem5
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItem5() {
if (jMenuItem5 == null) {
jMenuItem5 = new JMenuItem();
jMenuItem5.setText("另存為...");
jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -