Help with JTable


DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 2 of 2

Thread: Help with JTable

  1. #1
    Join Date
    Jul 2008
    Posts
    0

    Help with JTable

    I need to have my mortgage calculator results show in a table to look like an excel file
    can anyone help?


    Code:
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.lang.Math;
    import java.text.NumberFormat;
    import javax.swing.table.*;
    
    //Setup lables and buttons
    public class Gmortgage3 extends JFrame implements ActionListener{
    
    
    	private JLabel labelAmount, labelYears, labelInterest, labelMpayment;
    	private JTextField textAmount, textYears,textInterest,textMpayment;
    	private JButton buttonCalc, buttonClear, buttonStop;
    	private GridLayout grid1;
    	private Container c;
    	
    	private JLabel labelTopic;
    	private JTextField textTopic;
    	private JTextArea area1;
    
    	private GridBagLayout grid2;
    	private Container container;
    	private GridBagConstraints grid2Constraints;
    
    	public Gmortgage3(){
    	
    
    	
    		super("MORTGAGE CALCULATOR");
    		grid1 = new GridLayout(1,10,5,5); //(rows, columns, vertical space, hortizontal space)
    		c = getContentPane();
    		c.setLayout(grid1); //layer the format
    		
    		//addition of Menu bar
    		JMenuBar bar = new JMenuBar();
    		setJMenuBar(bar);
    		
    		//addition of main menu bar item
    		JMenu calMenu = new JMenu("CALCULATE");
    		calMenu.setMnemonic('L'); //Hot Key
    		bar.add(calMenu);
    
    		//addition of first item for File
    		JMenuItem thirtyMenu = new JMenuItem("1-30 Years");
    		thirtyMenu.setMnemonic('1');
    			thirtyMenu.addActionListener(
    				new ActionListener(){  //Listen to the Keyboard
    					public void actionPerformed(ActionEvent e){ //Set to 30 Years and 5.75% 
                                                                                                    String S_Amount="200000";
    						String S_Year = "30";
    						String S_Percent = "5.75";
                                                                                                    textAmount.setText(S_Amount);
    						textYears.setText(S_Year);
    						textInterest.setText(S_Percent);
    					}
    				}
    			);
    		calMenu.add(thirtyMenu);
    
    		//addition of second item for File
    		JMenuItem fifteenMenu = new JMenuItem("2-15 Years");
    		fifteenMenu.setMnemonic('2');
    			fifteenMenu.addActionListener(
    				new ActionListener(){
    					public void actionPerformed(ActionEvent e){ //Set to 15 Years and 5.5% 
    						String S_Amount="200000";
    						String S_Year = "15";
    						String S_Percent = "5.5";
                                                                                                    textAmount.setText(S_Amount);
    						textYears.setText(S_Year);
    						textInterest.setText(S_Percent);
    					}
    				}
    			);
    		calMenu.add(fifteenMenu);
    
    		//addition of second item for File
    		JMenuItem sevenMenu = new JMenuItem("3-7 Years"); //Set to 7 Years and 5.35% 
    		sevenMenu.setMnemonic('3');
    			sevenMenu.addActionListener(
    				new ActionListener(){
    					public void actionPerformed(ActionEvent e){
    						String S_Amount="200000";
    						String S_Year = "7";
    						String S_Percent = "5.35";
    						textAmount.setText(S_Amount);
    						textYears.setText(S_Year);
    						textInterest.setText(S_Percent);
    					}
    				}
    			);
    		calMenu.add(sevenMenu);
    		
    		
    		
    		//addition of second main menu bar 
    		JMenuItem clearMenu = new JMenuItem("CLEAR");
    		clearMenu.setMnemonic('R');
    			clearMenu.addActionListener(
    				new ActionListener(){
    					public void actionPerformed(ActionEvent e){
    						textMpayment.setText(null);
    						textInterest.setText(null);
    						textYears.setText(null);
    						area1.setText(null);
    						textAmount.setText(null);//clear program;
    					}
    				}
    			);
    		bar.add(clearMenu);		
    
    		
    		//addition of third main menu bar 
    		JMenuItem exitMenu = new JMenuItem("EXIT");
    		exitMenu.setMnemonic('E');
    			exitMenu.addActionListener(
    				new ActionListener(){
    					public void actionPerformed(ActionEvent e){
    						System.exit(0);
    					}
    				}
    			);
    			
    		bar.add(exitMenu);
    		
    		//Text Labels
    		labelAmount = new JLabel("  Amount ");
    		labelYears = new JLabel("  Years ");
    		labelInterest = new JLabel("  Interest ");
    		labelMpayment = new JLabel("  Monthly Payment ");
    
    		//Text Boxes 5 wide
    		textAmount = new JTextField(10);
    		textYears = new JTextField(2);
    		textInterest = new JTextField(3);
    		textMpayment = new JTextField(10);
    
    		//Calculate Button
    		buttonCalc = new JButton("Calculate");
    				
    		//Add Buttons  and Lables
    		c.add(labelAmount);
    		c.add(textAmount);
    
    		c.add(labelYears);
    		c.add(textYears);
    
    		c.add(labelInterest);
    		c.add(textInterest);
    
    		c.add(labelMpayment);
    		c.add(textMpayment);
    
    		c.add(buttonCalc);
    		
    		//Action Listeners
    		textAmount.addActionListener(this);
    		textYears.addActionListener(this);
    		textInterest.addActionListener(this);
    		buttonCalc.addActionListener(this);
    		
    		//Area Box
    		container = getContentPane();
    		grid2 = new GridBagLayout();
    		container.setLayout(grid2);
    		grid2Constraints = new GridBagConstraints();
    		
    		area1 = new JTextArea(" ");
    		//labelTopic = new JLabel("     Menu Selection");
    		textTopic = new JTextField(20);
    		
    		//Area1
    		grid2Constraints.fill = GridBagConstraints.BOTH;
    		//grid2Constraints.anchor = GridBagConstraints.CENTER; //2nd row
    		grid2Constraints.weightx = 120;
    		grid2Constraints.weighty = 60;
    		addComponent(area1, 8, 0,9,9);
    		
    		//additoin of Horizontal Scroll bar to area1 Text Area
    		Box b = Box.createHorizontalBox();
    		JScrollPane scrollPane = new JScrollPane(area1);
    		addComponent ((new JScrollPane(area1)), 8, 0,9,9);	
    			
    		//Size of the Window
    		setSize (820, 480);
    		show();
    
    	}
    
    public static double Formula (double Amount, double Years, double Interest){
    
    	//method to calculate  payment
    	double Interest_Rate = (Interest/1200);
    	double average = Amount * (Interest_Rate/(1 - Math.pow ((1 + Interest_Rate), -1 * (Years * 12))));
    	return average;
    		
    	}
    
    //Stop program
    public void Stop(){
    	System.exit(0);
    	}
    	
    //Fill Area
    public void FillTextArea(String myMessage){
    		area1.append("\t" + myMessage + "\n");
    
    	}
    
    //Aera Box
    private void addComponent(Component c, int row, int col, int width, int height){
    		grid2Constraints.gridx = col;
    		grid2Constraints.gridy = row;
    		grid2Constraints.gridwidth = width;
    		grid2Constraints.gridheight = height;
    		grid2.setConstraints(c, grid2Constraints);
    
    		container.add(c);
    	}
    
    public void actionPerformed (ActionEvent evt){
    
    	Object source = evt.getSource();
    	//Mortgage Variables	
    	double Mpayment = 0;		
    	double Interest = 0;
    	double Amount = 0;
    	int Years = 0;
    	double Month = 0;
    	double Interest_Rate = 0;
    	double Monthly_Balance = 0;
    	double Monthly_Principal = 0;
    	double Monthly_Interest = 0;
    
    		//Print  Monthly Payment
    		if (source==buttonCalc){
    			double rootAmount = Double.parseDouble(textAmount.getText());
    			double rootYears = Double.parseDouble(textYears.getText());
    				Month = rootYears * 12;
    			double rootInterest = Double.parseDouble(textInterest.getText());
    			Mpayment = Gmortgage3.Formula(rootAmount, rootYears, rootInterest);
    			String MpaymentString = NumberFormat.getCurrencyInstance().format(Mpayment); //Output monthly payment in $$
    			textMpayment.setText(MpaymentString);
    			area1.setText(null);
    			
    					
    	//Calculate  Monthly Payment
    	double Interest_Rate_2 = (rootInterest/1200);
    	double Monthly_Payment = rootAmount * (Interest_Rate_2/(1 - Math.pow ((1 + Interest_Rate_2), -1 * (rootYears * 12))));
    	Monthly_Interest = (Interest_Rate_2 * rootAmount);
    	Monthly_Principal = (Monthly_Payment - Monthly_Interest);
    	Monthly_Balance = (rootAmount - Monthly_Principal);
    	
    	//Print in Area1
    	area1.append("\t" + "Months to pay on" + "\t" + "Balance" + "\t\t" + "Principal" + "\t\t" + "Interest" +"\n");
    	
    	//Loop
    	while (Month > 0){
    	
    	//Format in Dollar Amount
    	String MPricipleString = NumberFormat.getCurrencyInstance().format(Monthly_Principal);
    	String MInterestString = NumberFormat.getCurrencyInstance().format(Monthly_Interest);
    	String MBalanceString = NumberFormat.getCurrencyInstance().format(Monthly_Balance);
    	
    	//Monthly Balance
    	area1.append("\t" + Month + "\t\t" + MBalanceString + "\t\t" + MPricipleString + "\t\t" + MInterestString +"\n"); 
    	
    	//De-increment line
    	Month--;
    	//(TotalMonth - Month) + 1;
    
    	
    	//Calculate New line
    	Monthly_Interest = (Interest_Rate_2 * Monthly_Balance);
    	Monthly_Principal = (Monthly_Payment - Monthly_Interest);
    	Monthly_Balance = (Monthly_Balance - Monthly_Principal);
    	
    	}
    		}
    }
    
    //Call Gmortgage3 
    public static void main(String arguments[]){
    	Gmortgage3 call1 = new Gmortgage3();		
    		call1.addWindowListener(
    		new WindowAdapter(){
    		public void windowClosing(WindowEvent e){
    		System.exit(0);			
    		}
    		}
    		);
    	}
    }

  2. #2
    Join Date
    Nov 2007
    Posts
    3

    excel spreadsheet

    check this one:
    http://www.jxcell.net

Similar Threads

  1. JTable Cell Renderers
    By freesoft_2000 in forum Java
    Replies: 3
    Last Post: 11-25-2006, 04:53 AM
  2. JTable Data not appearing
    By Bennettd02 in forum Java
    Replies: 0
    Last Post: 12-30-2005, 04:56 PM
  3. JTable Help
    By Hasnain in forum Java
    Replies: 1
    Last Post: 08-20-2005, 09:57 AM
  4. JTable Cell Editor
    By Jan Vettenburg in forum Java
    Replies: 1
    Last Post: 11-30-2001, 10:57 AM
  5. jTable
    By alex in forum Java
    Replies: 2
    Last Post: 09-25-2001, 03:58 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center