Skip to content
Permalink
12cc15c255
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
271 lines (219 sloc) 9.01 KB
package view;
import java.awt.*;
import java.awt.Window;
import java.awt.event.*;
import javax.swing.*;
import controller.*;
import model.*;
public class FSWindow {
//please ignore all of this. It's mostly my reference code. I'm going to work on it later.
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public FSWindow(){
}
/*
public static void main(String[] args){
FSWindow FSWindow = new FSWindow();
FSWindow.prepareGUI();
FSWindow.showButtonDemo();
}*/
//private void prepareGUI()
// public static void main(String[] args){
// FSWindow FSWindow = new FSWindow();
// FSWindow.prepareGUI();
// FSWindow.showButtonDemo();
// }
public void prepareGUI(Player p)
{
FinancialStatement currentFS = p.getFinancialStatement();
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setOneTouchExpandable(true);
splitPane.setDividerLocation(150);
JTabbedPane tabbedPane = new JTabbedPane();
JPanel mainTab = new JPanel();
mainTab.setLayout(new BoxLayout(mainTab, BoxLayout.Y_AXIS));
JLabel salary = new JLabel();
JTextField salarynum = new JTextField(currentFS.getSalary());
salary.add(salarynum);
mainTab.add(salary);
JLabel plusSymbol = new JLabel("+");
plusSymbol.setFont(new Font("Verdana",1,50));
plusSymbol.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(plusSymbol);
JLabel passiveincome = new JLabel();
JTextField pIncome = new JTextField(currentFS.getREcashFlow());
passiveincome.add(pIncome);
JLabel passiveMes = new JLabel("Cash Flow from Interest/Dividends and Real Estate/Business");
passiveincome.setFont(new Font("Verdana",1,35));
passiveincome.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(passiveincome);
passiveMes.setFont(new Font("Verdana",1,10));
passiveMes.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(passiveMes);
JLabel equalSymbol = new JLabel("=");
equalSymbol.setFont(new Font("Verdana",1,50));
equalSymbol.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(equalSymbol);
JLabel totalincome = new JLabel();
JTextField tincomenum = new JTextField(currentFS.getTotalIncome());
totalincome.add(tincomenum);
totalincome.setFont(new Font("Verdana",1,35));
totalincome.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(totalincome);
JLabel minusSymbol = new JLabel("-");
minusSymbol.setFont(new Font("Verdana",1,50));
minusSymbol.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(minusSymbol);
JLabel totalexpense = new JLabel();
JTextField texpensenum = new JTextField(currentFS.getTotalExpenses());
totalincome.add(texpensenum);
totalincome.setFont(new Font("Verdana",1,35));
totalincome.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(totalexpense);
JLabel equalSymbol2 = new JLabel("=");
equalSymbol2.setFont(new Font("Verdana",1,50));
equalSymbol2.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(equalSymbol2);
JLabel cashflow = new JLabel();
JTextField cashflownum = new JTextField(currentFS.getMonthlyCashflow());
cashflow.add(cashflownum);
totalincome.setFont(new Font("Verdana",1,35));
totalincome.setAlignmentX(Component.CENTER_ALIGNMENT);
mainTab.add(cashflow);
tabbedPane.addTab("Total CashFlow", mainTab);
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
String[] incomeColumns = {"Description", "CashFlow"};
Object[][] income = {
{"Description", "CashFlow"},
//{"Salary","" currentFS.getSalary()},
{"Interest/dividends", ""/**call interest of user*/},
{"Real Estate/Business",""/**business of user*/},
{"Real Estate/Business",""/**business of user*/},
{"Real Estate/Business",""/**business of user*/},
{"Real Estate/Business",""/**business of user*/},
{"Salary",currentFS.getMonthlySalary()},
{"Interest/dividends", "0"},
//another table for real estate
<<<<<<< HEAD
{"Real Estate/Business",""/**business of user*/},
{"Real Estate/Business",""/**business of user*/},
{"Real Estate/Business",""/**business of user*/},
{"Real Estate/Business",""/**business of user*/},
=======
{"Real Estate/Business",/**business of user*/},
{"Real Estate/Business",/**business of user*/},
{"Real Estate/Business",/**business of user*/},
{"Real Estate/Business",/**business of user*/},
>>>>>>> branch 'master' of https://github.uconn.edu/joh13010/2102-Group-Project-Spring-2017.git
};
JTable incomeTable = new JTable(income, incomeColumns);
tabbedPane.addTab("Income", incomeTable);
tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
String[] expenseColumns = {"Description", "CashFlow"};
Object[][] expense = {
{"Description", "CashFlow"},
{"Taxes", currentFS.getTaxes()},
{"Home Mortgage Payment", currentFS.getHomeMortgagePayment()},
{"School Loan Payment",currentFS.getSchoolLoanPayment()},
{"Car Loan Payment",currentFS.getCarLoanPayment()},
{"Credit Card Payment",currentFS.getCreditCardPayment()},
{"Other Expenses", currentFS.getOtherExpenses()},
{"Per Child Expense",currentFS.getPerChildExpense()*currentFS.getNumChildren()},
};
JTable expenseTable = new JTable(expense, expenseColumns);
tabbedPane.addTab("Expenses", expenseTable);
tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);
// private ArrayList<OwnedRealEstate> _realEstate;
//find how to keep adding rows from array
String[] assetColumns = {"Description", "CashFlow"};
Object[][] asset = {
{"Description", "CashFlow"},
{"Savings",currentFS.getSavings()},
{"Precious Metals", "0"},
{"Stocks",currentFS.getStockValue()}, //total stocks number and total money
};
JTable assetTable = new JTable(asset, assetColumns );
String[] assetColumns2 = {"Description", "Down Payment", "Cost"};
Object[][] asset2 = {
{"Description", "Down Payment", "Cost"},
{"Name",""/**user variable*/,""},
{"Name", ""/**user variable**/,""},
{"Name",""/**user variable**/, ""/**user variable**/,""}, //total stocks number and total money
};
JTable assetTable2 = new JTable(asset2, assetColumns2 );
Container assetTab = new Container();
assetTab.setLayout(new BoxLayout(assetTab, BoxLayout.Y_AXIS));
assetTab.add(assetTable);
assetTab.add(assetTable2);
tabbedPane.addTab("Assets", assetTab);
tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);
String[] liabiltiesColumns = {"Description", "Liabilities"};
Object[][] liabilties = {
{"Description", "Liabilities"},
{"Home Mortgage",currentFS.getHomeMortgage()},
{"School Loans", currentFS.getSchoolLoans()},
{"Car Loans",currentFS.getCarLoans()},
{"Credit Card Debt", currentFS.getCreditCardDebt()},
};
JTable liabiltiesTable = new JTable(liabilties, liabiltiesColumns );
String[] liabiltiesColumns2 = {"Real Estate/Business", "Mortgage/Liability"};
Object[][] liabilties2 = {
{"Real Estate/Business", "Mortgage/Liability"},
{"Name",""/**user variable*/},
{"Name", ""/**user variable**/},
{"Name",""/**user variable**/, ""/**user variable**/},
{"Name", ""/**user variable**/},
{"Name", ""/**user variable**/},
};
JTable liabiltiesTable2 = new JTable(liabilties2, liabiltiesColumns2 );
Container liabilitiesTab = new Container();
liabilitiesTab.setLayout(new BoxLayout(liabilitiesTab, BoxLayout.Y_AXIS));
liabilitiesTab.add(liabiltiesTable);
liabilitiesTab.add(liabiltiesTable2);
tabbedPane.addTab("Liabilities", liabilitiesTab);
tabbedPane.setMnemonicAt(4, KeyEvent.VK_5);
incomeTable.setPreferredSize(new Dimension(410, 250));
expenseTable.setPreferredSize(new Dimension(410, 250));
assetTable.setPreferredSize(new Dimension(410, 250));
assetTable2.setPreferredSize(new Dimension(410, 250));
mainFrame = new JFrame("CashFlow");
mainFrame.getContentPane().setBackground(new Color(49, 32, 216));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
tabbedPane.setPreferredSize(new Dimension(500, 750));
headerLabel = new JLabel("", JLabel.CENTER);
headerLabel.setFont(headerLabel.getFont().deriveFont(Font.BOLD, 16f));
statusLabel = new JLabel("",JLabel.CENTER);
//new statuslabel of "10% of your whatever is XX dollars"
statusLabel.setSize(350,100);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
controlPanel.setBackground(new Color(49, 32, 216));
mainFrame.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
mainFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
mainFrame.add(splitPane);
//add game window like so
// splitPane.add(gamewindow);
splitPane.add(tabbedPane);
}
protected Component makeTextPanel(String text) {
JPanel panel = new JPanel(false);
JLabel filler = new JLabel(text);
filler.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1, 1));
panel.add(filler);
return panel;
}
public void showButtonDemo(){
mainFrame.setVisible(true);
}
}