Path: csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!novia!news-out.readnews.com!transit3.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!86597e80!not-for-mail From: "Willliwill" Subject: Re: Combinig 2 GUI's to c Message-ID: <715582be75411@uwe> X-Comment-To: comp.lang.java.gui Newsgroups: comp.lang.java.gui In-Reply-To: <713e985c577fe@uwe> References: <713e985c577fe@uwe> Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.15a-Win32 NewsLink 1.92] Lines: 434 Date: Wed, 27 Apr 2011 15:33:58 GMT NNTP-Posting-Host: 96.60.20.240 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1303918438 96.60.20.240 (Wed, 27 Apr 2011 10:33:58 CDT) NNTP-Posting-Date: Wed, 27 Apr 2011 10:33:58 CDT Organization: TDS.net Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.gui:1551 To: comp.lang.java.gui Thanks I will give it a try, is there any way to make both programs open up in their own respective windows as individual Java apps ? Willliwill wrote: >Yes this is homework, having cleared that up what I want to do is compile, >and run these 2 programs simultaneously. Any help would be appreciated. > >*/ >import java.awt.*; /* Import statements */ >import javax.swing.*; >import java.awt.event.*; >class Assignmentweek2 > > { > public static void main(String args[]) > > { > Interest i=new Interest(); > i.init(); > i.setVisible(true); > } > } > class Interest extends JFrame implements ActionListener > > { > JPanel a,i,y,r,b,all; /*GUI */ > JLabel am,it,yr,rt; > JTextField amt,itr,yrs,rate; > JButton cal,clr; > float amount,years,rate_in,interest; > public Interest() > > { > setTitle("Find Payment"); /*GUI specs */ > setSize(500,400); > setLocation(200,200); > setDefaultCloseOperation(EXIT_ON_CLOSE); > a=new JPanel(); > i=new JPanel(); > y=new JPanel(); > r=new JPanel(); > b=new JPanel(); > all=new JPanel(new FlowLayout(FlowLayout.CENTER,1000,20)); > am=new JLabel("Enter Amount"); > it=new JLabel("Total Monthly Payment is"); > yr=new JLabel("Enter Years"); > rt=new JLabel("Enter Interest rate"); > amt=new JTextField(10); > itr=new JTextField(10); > itr.setEditable(false); > yrs=new JTextField(10); > rate=new JTextField(10); > cal=new JButton("Calculate"); > clr=new JButton("New Amount"); > } > public void init() > > { > setLayout(new BorderLayout()); > a.add(am); > a.add(amt); > y.add(yr); > y.add(yrs); > r.add(rt); > r.add(rate); > i.add(it); > i.add(itr); > b.add(cal); > b.add(clr); > all.add(a); > all.add(y); > all.add(r); > all.add(i); > add(b,BorderLayout.SOUTH); > add(all,BorderLayout.CENTER); > cal.addActionListener(this); > clr.addActionListener(this); > } > public void actionPerformed(ActionEvent e) > > { > try > > { > if(cal==e.getSource()) > > { > amount=Float.parseFloat(amt.getText()); >/*Program computations */ > years=Float.parseFloat(yrs.getText()); > rate_in=Float.parseFloat(rate.getText()); > >interest=amount/years*rate_in/100+amount/years/12; > itr.setText(Float.toString(interest)); > } > else if(clr==e.getSource()) > > { > amt.setText(""); > yrs.setText(""); > rate.setText(""); > itr.setText(""); > } > } > catch(NumberFormatException n) /*Resets GUI >to 0's if wrong # format entry is attempted */ > > { > amt.setText("0"); > yrs.setText("0"); > rate.setText("0"); > itr.setText("0"); > } > } > }/* END*/ > >-------------------------------------Along with this program------------------ >---------------------------------------------------------- > >*/ >import java.awt.*; >import java.awt.event.*; >import java.text.*; >import javax.swing.*; >import javax.swing.table.*; >import java.io.*; > >public class Week3 extends JFrame implements ActionListener >{ >//Components >JPanel lpanel = new JPanel(); >JPanel tpanel = new JPanel(); >JPanel p1 = new JPanel(); >JPanel pAmount = new JPanel(); >JPanel pInterest = new JPanel(); >JPanel pTermlngth = new JPanel(); >JPanel pPymtresult = new JPanel(); >JPanel pButton = new JPanel(); > >JLabel lAmount = new JLabel(); >JLabel lTermlngth = new JLabel(); >JLabel lRate = new JLabel(); >JLabel lTitle = new JLabel(); >JLabel lCombo = new JLabel(); >JLabel lPymtresult = new JLabel(); >JLabel lMain = new JLabel(); >JLabel lMonthlypymt = new JLabel(); >JLabel lBalance = new JLabel(); >JLabel lInterest = new JLabel(); > >JButton bCalc = new JButton(); >JButton bMonthlypymt = new JButton(); >JButton bQuit = new JButton(); > >JTextField tAmount = new JTextField(8); >JTextField tTermlngth = new JTextField(); >JTextField tRate = new JTextField(); >JTextField tMonthlypymt = new JTextField(8); >JTextField tPymtresult = new JTextField(8); >JTextField tCombo = new JTextField(); >JTextField tBalance = new JTextField(); >JTextField tInterest = new JTextField(); > >String sErrorMessage = ""; >boolean bError = false; >String sPymtnumber = "######"; >String sPercent = "###.###%"; >String sAreaheader = " Payment\tPrinciple\tInterest\tBalance\n"; > >NumberFormat nfCurrency = NumberFormat.getCurrencyInstance(); >NumberFormat nfDecimals = new DecimalFormat(sPymtnumber); >NumberFormat nfPercent = new DecimalFormat(sPercent); >DecimalFormat decimalPlaces=new DecimalFormat("0.00"); > >JComboBox cbSetup = new JComboBox(); >JTextArea taArea = new JTextArea(20,40); >JScrollPane spScrollpanel = new JScrollPane(taArea); >FlowLayout lFlow = new FlowLayout(FlowLayout.LEFT,5,5); > >//Variables > >double dIntpaid = 0; >double dAmountpaid = 0; >double dTotaldue = 0; >double dMonthlyapr = 0; >double dAmount = 0; >double dApr = 0; >double dAprconv = 0; >double dPymt = 0; >double dTotinterest = 0; >double dTotbalance = 0; >double dMonthlypymt = 0; >double dYearlyrate = 0; >double dTermlngthconv = 0; >double dTermlngth = 0; > >int iCounter = 0; >int iTermlngth = 0; >int iTotmonths = 0; > >//Initialize array >double[] xRate = {.0535,.0550,.0575}; >int[] xTerm = {7,15,30}; > >public static void main(String[] args) >{ >new Week3(); >} > >public Week3() >{ > >Container main = getContentPane(); > >for(iCounter = 0; iCounter <= 2; iCounter++) >{ >cbSetup.addItem(xTerm[iCounter] + " years - " + nfPercent.format(xRate >[iCounter])); >} > >//Set editables >tMonthlypymt.setEditable(false); >tMonthlypymt.setBackground(Color.white); >tBalance.setEditable(false); >tBalance.setBackground(Color.white); >tInterest.setEditable(false); >tInterest.setBackground(Color.white); >tRate.setEditable(false); >tRate.setBackground(Color.white); >tTermlngth.setEditable(false); >tTermlngth.setBackground(Color.white); >taArea.setEditable(false); >taArea.setBackground(Color.white); >tAmount.setEditable(true); >tAmount.setBackground(Color.white); > >//Read text panel >lpanel.setLayout(new GridLayout(8,1)); >lpanel.setMinimumSize(new java.awt.Dimension(130,150)); >lpanel.setPreferredSize(new java.awt.Dimension(130,150)); >lpanel.setMaximumSize(new java.awt.Dimension(Short.MAX_VALUE,Short.MAX_VALUE)) >; >lpanel.add(lCombo); >lpanel.add(lAmount); >lpanel.add(lRate); >lpanel.add(lTermlngth); >lpanel.add(lMonthlypymt); >lpanel.add(lBalance); >lpanel.add(lInterest); >lCombo.setText("Payback Option"); >lAmount.setText("Amount=150000 etc."); >lRate.setText("APR"); >lTermlngth.setText("Length of Loan"); >lMonthlypymt.setText("Monthly Payment"); >lBalance.setText("Existing Balance"); >lInterest.setText("Existing Interest"); > >//Write text panel >tpanel.setLayout(new GridLayout(8,1)); >tpanel.setMinimumSize(new java.awt.Dimension(100, 150)); >tpanel.setPreferredSize(new java.awt.Dimension(100, 150)); >tpanel.setMaximumSize(new java.awt.Dimension(Short.MAX_VALUE,Short.MAX_VALUE)) >; >tpanel.add(cbSetup); >tpanel.add(tAmount); >tpanel.add(tRate); >tpanel.add(tInterest); >tpanel.add(tTermlngth); >cbSetup.addActionListener(this); >tpanel.add(tMonthlypymt); >tpanel.add(tBalance); >tpanel.add(tInterest); > >//Create border layout >p1.setBorder(BorderFactory.createEmptyBorder(10, 10, 2, 10)); >p1.setLayout(new BorderLayout()); >p1.add(lpanel, "West"); >p1.add(tpanel, "East"); >main.add(p1, "West"); > >//Buttons >pButton.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); >pButton.setLayout(new BorderLayout()); >bCalc.setText("Calculate Mortgage"); >main.add(bCalc); >bMonthlypymt.setText("See all Payments"); >main.add(bMonthlypymt); >bQuit.setText("Quit"); >main.add(bQuit); >main.add(pButton); > >//Scrollable >spScrollpanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); >main.add(spScrollpanel); >main.setLayout(lFlow); > >//Listeners >bCalc.addActionListener(this); >bMonthlypymt.addActionListener(this); >bQuit.addActionListener(this); > >//Main title >this.setSize(650,550); >this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); >this.setTitle("Mortgage Week 3!"); >this.setVisible(true); > >} > >public void actionPerformed(ActionEvent thisEvent) > >{ > >Object source = thisEvent.getSource(); > >//Declare exceptions > >if(source == bCalc) >{ >try >{ > >iTermlngth = Integer.parseInt(tTermlngth.getText()); >dAmount = Double.parseDouble(tAmount.getText()); >dApr = Double.parseDouble(tRate.getText()); >} > >catch(NumberFormatException e) >{ > >sErrorMessage = sErrorMessage + "Invalid"; >bError = true; >} > >if (iTermlngth <= 0 || dAmount <= 0 || dApr <= 0) >{ > >sErrorMessage = sErrorMessage + "Invalid"; >bError = true; >} > >if(bError == true) >{ > >JOptionPane.showMessageDialog(this, sErrorMessage, "Invalid", JOptionPane. >ERROR_MESSAGE); >tMonthlypymt.setText(""); >} > >//Mortgage math >else >{ > >dTermlngthconv = iTermlngth / 12; >dAprconv = dApr / 100; >dMonthlypymt = (((dAmount * dAprconv) * dTermlngthconv) + dAmount) / >iTermlngth; >dTotbalance = dMonthlypymt * iTermlngth; >dTotinterest = dTotbalance - dAmount; >tMonthlypymt.setText(nfCurrency.format(dMonthlypymt)); >tBalance.setText(nfCurrency.format(dTotbalance)); >tInterest.setText(nfCurrency.format(dTotinterest)); >bMonthlypymt.setEnabled(true); >} > >} > >if(source == bMonthlypymt) >{ > >dMonthlyapr = (dApr / 100) / 12; >dTotaldue = dAmount; >taArea.setText(sAreaheader); > >for(int iCounter = 0; iCounter <= iTermlngth - 1; iCounter++) > >{ > >dIntpaid = dTotaldue * dMonthlyapr; > >if(dIntpaid <= 0) >dIntpaid = 0; >dAmountpaid = dMonthlypymt - dIntpaid; >dTotaldue = dTotaldue - dAmountpaid; > >taArea.append(" " >+nfDecimals.format(iCounter + 1) + "\t" >+nfCurrency.format(dAmountpaid) + "\t" >+nfCurrency.format(dIntpaid) + "\t" >+nfCurrency.format(dTotaldue) + "\n"); >taArea.setCaretPosition(0); >} >} > >//Display all payments > >if(source == cbSetup) > >{ > >int cbStart = cbSetup.getSelectedIndex(); >iTotmonths = xTerm[cbStart]* 12; >dYearlyrate = xRate[cbStart]* 100; >tTermlngth.setText(Integer.toString(iTotmonths)); >tRate.setText(Double.toString(dYearlyrate)); >tAmount.requestFocus(); >} > >//exit program > >if(source == bQuit) > >{ > >System.exit(0); > >} > >} > >} /*END*/ > >-----------------------------------------------------any help would be >appriciated--------------------------------------------------- -- Message posted via JavaKB.com http://www.javakb.com/Uwe/Forums.aspx/java-gui/200704/1 --- * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet! --- Synchronet 3.15a-Win32 NewsLink 1.92 Time Warp of the Future BBS - telnet://time.synchro.net:24