Alright, i thought i had figured out how i could track the source of a click through the getSource() method, but when i do this:
if(knop1)e.getSource()) //knop1 means button1
{
bla bla bla bla bla
the usual
}
alright, new error ^^
it says it can't find knop1
I'll post my code again
Could you guys help me, i'm starting to get depressed.....Code://THE VIEW import javax.swing.Box; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; import javax.swing.JTextField; import javax.swing.JLabel; import javax.swing.BoxLayout; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionListener; /* * Created on Feb 23, 2005 * @author R. Knijntje * * * * This code was designed by R. knijnenburg * Copyright @ R. Knijnenburg, http://entertainer.no-ip.com, Mondriaan onderwijsgroep */ public class RekenMachineView extends JFrame { private JTextField invoer1, invoer2, uitkomst; public JButton knop1, knop2, knop3, knop4; public RekenMachineView() { init(); } private void init() { knop1 = new JButton("="); knop2 = new JButton("-"); knop3 = new JButton("*"); knop4 = new JButton("/"); invoer1 = new JTextField(); invoer1.setBackground(Color.BLUE); invoer1.setPreferredSize(new Dimension(150 , 30)); invoer2 = new JTextField(); invoer2.setBackground(Color.RED); invoer2.setPreferredSize(new Dimension(150 , 30)); uitkomst = new JTextField("0"); uitkomst.setBackground(Color.GREEN); uitkomst.setPreferredSize(new Dimension(320 , 30)); uitkomst.setEditable(false); JPanel panelCenter = new JPanel(); JLabel label1 = new JLabel("+"); panelCenter.add(maakVerticalBox()); panelCenter.add(knop1); panelCenter.add(knop2); panelCenter.add(knop3); panelCenter.add(knop4); JPanel panelNoord = new JPanel(); panelNoord.add(invoer1); panelNoord.add(label1); panelNoord.add(invoer2); JPanel panelZuid = new JPanel(); panelZuid.add(uitkomst); getContentPane().add(panelNoord,BorderLayout.NORTH); getContentPane().add(panelZuid,BorderLayout.SOUTH); getContentPane().add(panelCenter,BorderLayout.CENTER); setTitle("Rekenmachine"); setIconImage(new ImageIcon("icon.jpg").getImage()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setLocation(300,175); //setSize(350, 175); setVisible(true); } public static Box maakVerticalBox() { Box knopBox = new Box(BoxLayout.Y_AXIS); return knopBox; } public void setUitkomst(String uitkomst) { this.uitkomst.setText(uitkomst); } public String geefInvoer1() { String waarde1 = invoer1.getText(); return waarde1; } public String geefInvoer2() { String waarde2 = invoer2.getText(); return waarde2; } public void toonResultaat(String uitkomst) { this.uitkomst.setText(uitkomst); } public void voegOptelLuisteraarToe(ActionListener e) { knop1.addActionListener(e); knop2.addActionListener(e); knop3.addActionListener(e); knop4.addActionListener(e); } } -------------------------------------------------------------------------- //THE STARTER import javax.swing.JFrame; /* * Created on Feb 23, 2005 * @author R. Knijntje * * * * This code was designed by R. knijnenburg * Copyright @ R. Knijnenburg, http://entertainer.no-ip.com, Mondriaan onderwijsgroep */ public class RekenMachineStarter { public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); RekenMachineView mijnView = new RekenMachineView(); RekenMachineModel mijnModel = new RekenMachineModel(); RekenMachineValidator mijnValidator = new RekenMachineValidator(); RekenMachineLuisteraar e = new RekenMachineLuisteraar(mijnModel, mijnView); mijnView.voegOptelLuisteraarToe(e); } } ------------------------------------------------------------------------- // THE LISTENER import java.awt.event.*; /* /* * Created on Feb 23, 2005 * @author R. Knijntje * * * * This code was designed by R. knijnenburg * Copyright @ R. Knijnenburg, http://entertainer.no-ip.com, Mondriaan onderwijsgroep */ public class RekenMachineLuisteraar implements ActionListener { private RekenMachineModel m; private RekenMachineView v; private RekenMachineValidator rmv; public RekenMachineLuisteraar(RekenMachineModel m , RekenMachineView v) { this.m = m; this.v = v; rmv = new RekenMachineValidator(); } public void actionPerformed(ActionEvent e) { String stringGetal1, stringGetal2; int intGetal1, intGetal2;; stringGetal1 = v.geefInvoer1(); rmv.setInvoer(stringGetal1); if(rmv.isCorrect()) { if((knop1)e.getSource()) { intGetal1 = Integer.parseInt(stringGetal1); stringGetal2 = v.geefInvoer2(); rmv.setInvoer(stringGetal2); if(rmv.isCorrect()) { intGetal2 = Integer.parseInt(stringGetal2); m.setGetal1(intGetal1); m.setGetal2(intGetal2); v.toonResultaat(Integer.toString(m.geefOptelling())); } } if(rmv.isCorrect()) { if((knop2)e.getSource()) { intGetal1 = Integer.parseInt(stringGetal1); stringGetal2 = v.geefInvoer2(); rmv.setInvoer(stringGetal2); if(rmv.isCorrect()) { intGetal2 = Integer.parseInt(stringGetal2); m.setGetal1(intGetal1); m.setGetal2(intGetal2); v.toonResultaat(Integer.toString(m.geefAftrekking())); } } else { v.toonResultaat(rmv.toString()); } } else { v.toonResultaat(rmv.toString()); } } /* class aftrekScenario implements ActionListener { public void actionPerformed(ActionEvent a) { String stringGetal1, stringGetal2; int intGetal1, intGetal2; stringGetal1 = v.geefInvoer1(); rmv.setInvoer(stringGetal1); if(rmv.isCorrect() { if(knop2.isPressed == true) { intGetal1 = Integer.parseInt(stringGetal1); stringGetal2 = v.geefInvoer2(); rmv.setInvoer(stringGetal2); if(rmv.isCorrect()) { intGetal2 = Integer.parseInt(stringGetal2); m.setGetal1(intGetal1); m.setGetal2(intGetal2); v.toonResultaat(Integer.toString(m.geefAftrekking())); } } else { v.toonResultaat(rmv.toString()); } } else { v.toonResultaat(rmv.toString()); } } } } }



Reply With Quote
Bookmarks