?? financialmainframe.java
字號:
package lh.finacial;
import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JFileChooser;
import javax.swing.JTextArea;
import java.awt.GridBagLayout;
import javax.swing.BoxLayout;
import java.awt.GridBagConstraints;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.tree.*;
import javax.swing.JDialog;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Dimension;
import javax.swing.JCheckBox;
import java.awt.GridLayout;
import javax.swing.JOptionPane;
import javax.swing.JComboBox;
import java.util.*;
import java.util.regex.Pattern;
import java.io.*;
public class FinancialMainFrame extends JFrame {
FinancialProc fProc = new FinancialProc(); // @jve:decl-index=0:
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JMenuBar jJMenuBar = null;
private JMenu jMenu = null;
private JMenuItem jMenuItem = null;
private JPanel jPanel = null;
private JSplitPane jSplitPane = null;
private JSplitPane jSplitPane1 = null;
private JSplitPane jSplitPane2 = null;
private JTree jTree = null;
private JScrollPane jScrollPane = null;
private JTable jTable = null;
private JScrollPane jScrollPane1 = null;
private JScrollPane jScrollPane2 = null;
private JTextArea jTextArea = null;
private JTextArea jTextArea1 = null;
private JMenu jMenu1 = null;
private JDialog jSearchDialog = null; // @jve:decl-index=0:visual-constraint="700,10"
private JPanel jContentPane2 = null;
private JLabel jLabel = null;
private JTextField jTextField = null;
private JButton jButton = null;
private JLabel jLabel1 = null;
private JTextField jTextField1 = null;
private JButton jButton1 = null;
private JMenuItem jMenuItem1 = null;
private JMenuItem jMenuItem2 = null;
private JDialog jDialog = null; // @jve:decl-index=0:visual-constraint="700,137"
private JPanel jContentPane1 = null;
private JLabel jLabel2 = null;
private JTextField jTextField2 = null;
private JLabel jLabel3 = null;
private JTextField jTextField3 = null;
private JLabel jLabel4 = null;
private JTextField jTextField4 = null;
private JLabel jLabel5 = null;
private JTextField jTextField5 = null;
private JPanel jPanel1 = null;
private JButton jButton2 = null;
private List<JCheckBox> jCheckBoxs = new ArrayList<JCheckBox>(); // @jve:decl-index=0:
private JMenuItem jMenuItem3 = null;
private JMenuItem jMenuItem4 = null;
private JMenuItem jMenuItem5 = null;
private JDialog jInputDialog = null; // @jve:decl-index=0:visual-constraint="960,-52"
private JPanel jContentPane3 = null;
private JLabel jLabel6 = null;
private JTextField jTextField6 = null;
private JLabel jLabel7 = null;
private JTextField jTextField7 = null;
private JLabel jLabel8 = null;
private JTextField jTextField8 = null;
private JLabel jLabel9 = null;
private JComboBox jComboBox = null;
private JButton jButton3 = null;
private JMenuItem jMenuItem6 = null;
private JScrollPane jScrollPane3 = null;
private JMenuItem jMenuItem7 = null;
private JMenuItem jMenuItem8 = null;
private JMenuItem jMenuItem9 = null;
/**
* This method initializes jJMenuBar
*
* @return javax.swing.JMenuBar
*/
private JMenuBar getJJMenuBar() {
if (jJMenuBar == null) {
jJMenuBar = new JMenuBar();
jJMenuBar.add(getJMenu());
jJMenuBar.add(getJMenu1());
}
return jJMenuBar;
}
/**
* This method initializes jMenu
*
* @return javax.swing.JMenu
*/
private JMenu getJMenu() {
if (jMenu == null) {
jMenu = new JMenu();
jMenu.setText("文件");
jMenu.add(getJMenuItem());
jMenu.add(getJMenuItem3());
jMenu.add(getJMenuItem5());
jMenu.add(getJMenuItem8());
jMenu.add(getJMenuItem7());
}
return jMenu;
}
/**
* This method initializes jMenuItem
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItem() {
if (jMenuItem == null) {
jMenuItem = new JMenuItem("Open...");
jMenuItem.setText("打開...");
jMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JFileChooser filech = new JFileChooser();
int rVal = filech.showOpenDialog(FinancialMainFrame.this);
if(rVal==JFileChooser.APPROVE_OPTION){
String filePathName = filech.getSelectedFile().getAbsolutePath();
readFromFile(filePathName);
}
}
});
}
return jMenuItem;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.fill = GridBagConstraints.BOTH;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.gridx = 0;
jPanel = new JPanel();
jPanel.setLayout(new GridBagLayout());
jPanel.add(getJSplitPane(), gridBagConstraints);
}
return jPanel;
}
/**
* This method initializes jSplitPane
*
* @return javax.swing.JSplitPane
*/
private JSplitPane getJSplitPane() {
if (jSplitPane == null) {
jSplitPane = new JSplitPane();
jSplitPane.setRightComponent(getJSplitPane1());
jSplitPane.setLeftComponent(getJSplitPane2());
jSplitPane.setOneTouchExpandable(true);
}
return jSplitPane;
}
/**
* This method initializes jSplitPane1
*
* @return javax.swing.JSplitPane
*/
private JSplitPane getJSplitPane1() {
if (jSplitPane1 == null) {
jSplitPane1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT,false);
jSplitPane1.setTopComponent(getJScrollPane());
jSplitPane1.setBottomComponent(getJScrollPane1());
jSplitPane1.setOneTouchExpandable(true);
}
return jSplitPane1;
}
/**
* This method initializes jSplitPane2
*
* @return javax.swing.JSplitPane
*/
private JSplitPane getJSplitPane2() {
if (jSplitPane2 == null) {
jSplitPane2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
jSplitPane2.setOneTouchExpandable(true);
jSplitPane2.setBottomComponent(getJTextArea1());
jSplitPane2.setTopComponent(getJScrollPane2());
}
return jSplitPane2;
}
/**
* This method initializes jScrollPane2
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane2() {
if (jScrollPane2 == null) {
jScrollPane2 = new JScrollPane();
jScrollPane2.setViewportView(getJTree());
}
return jScrollPane2;
}
/**
* This method initializes jTree
*
* @return javax.swing.JTree
*/
private JTree getJTree() {
if (jTree == null) {
List<String> names = fProc.listNames;
DefaultMutableTreeNode top = new DefaultMutableTreeNode("成員列表");
for(String name:names)
top.add(new DefaultMutableTreeNode(name));
jTree = new JTree(top);
jTree.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)jTree.getLastSelectedPathComponent();
if(node==null)
return;
if(node.isRoot()){
((BasicTableModel)(jTable.getModel())).removeAllRow();
for(BasicItem item:fProc.itemList)
((BasicTableModel)(jTable.getModel())).appendRow(item);
jTable.updateUI();
return;
}
String s = (String)node.getUserObject();
((BasicTableModel)(jTable.getModel())).removeAllRow();
double sumOfMoney = 0;
for(BasicItem item:fProc.itemList){
if(item.getName().equals(s)){
((BasicTableModel)(jTable.getModel())).appendRow(item);
sumOfMoney = sumOfMoney + item.getMoney();
}
}
jTable.updateUI();
jTextArea1.setText(s + " 消費金額:" + sumOfMoney + "元");
}
});
jTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
}
return jTree;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable() {
if (jTable == null) {
jTable = new JTable(new BasicTableModel());
jTable.getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
}
return jTable;
}
/**
* This method initializes jScrollPane1
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane1() {
if (jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setViewportView(getJTextArea());
}
return jScrollPane1;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
}
return jTextArea;
}
/**
* This method initializes jTextArea1
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea1() {
if (jTextArea1 == null) {
jTextArea1 = new JTextArea();
}
return jTextArea1;
}
/**
* This method initializes jMenu1
*
* @return javax.swing.JMenu
*/
private JMenu getJMenu1() {
if (jMenu1 == null) {
jMenu1 = new JMenu();
jMenu1.setText("編輯");
jMenu1.add(getJMenuItem2());
jMenu1.add(getJMenuItem6());
jMenu1.add(getJMenuItem9());
jMenu1.add(getJMenuItem1());
jMenu1.add(getJMenuItem4());
}
return jMenu1;
}
/**
* This method initializes jSearchDialog
*
* @return lh.finacial.SearchDialog
*/
private JDialog getJSearchDialog() {
if (jSearchDialog == null) {
jSearchDialog = new JDialog(this);
jSearchDialog.setSize(new Dimension(225, 117));
jSearchDialog.setTitle("查詢");
jSearchDialog.setContentPane(getJContentPane2());
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -