| | |
HELP<!>Program doesn't get user input from the 2nd Textfield(KAEquation)
Please support our Java advertiser: Programming Forums - DaniWeb Sister Site
![]() |
This is a program for generating a state table for flip flop circuits.
My problem is that the program does not get anything from the Textfield which gets the value for KAEquation, but for JAEquation, it works just fine.
My problem is that the program does not get anything from the Textfield which gets the value for KAEquation, but for JAEquation, it works just fine.
Java Syntax (Toggle Plain Text)
import javax.swing.*; import java.awt.*; import java.awt.event.*; /** * @author Jenielle Gabriel * */ public class FFGen extends JFrame{ private String FlipflopType = ""; private boolean isOneFlipflop = true; private boolean isInput = false; private boolean isOutput = false; String JAEquation = ""; String KAEquation = ""; String JBEquation = ""; String KBEquation = ""; String OutputEquation = ""; public void First(){ /** * @param args */ JLabel pleaseChooseFFType; String[] FlipflopTypes = {"JK", "RS", "D", "T"};; JComboBox FlipflopList; JLabel pleaseChooseFFNum; ButtonGroup FlipflopNumberGroup; JRadioButtonMenuItem oneFlipflop; JRadioButtonMenuItem twoFlipflop; JLabel pleaseCheck; JCheckBox oneInput; JCheckBox oneOutput; JButton next; JFrame first; JPanel firstConLeft; JPanel firstConRight; FlipflopList = new JComboBox(FlipflopTypes); FlipflopList.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ JComboBox cb = (JComboBox)e.getSource(); FlipflopType = (String)cb.getSelectedItem(); } } ); pleaseChooseFFType = new JLabel("Type of Flipflop:"); oneFlipflop = new JRadioButtonMenuItem ("1"); oneFlipflop.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ isOneFlipflop = true; } } ); twoFlipflop = new JRadioButtonMenuItem ("2"); twoFlipflop.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ isOneFlipflop = false; } } ); pleaseChooseFFNum = new JLabel("Number of Flipflops:"); FlipflopNumberGroup = new ButtonGroup(); FlipflopNumberGroup.add(oneFlipflop); FlipflopNumberGroup.add(twoFlipflop); pleaseCheck = new JLabel("There is an:"); oneInput = new JCheckBox ("Input"); oneInput.addItemListener( new ItemListener(){ public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) isInput = true; else if (e.getStateChange() == ItemEvent.DESELECTED) isInput = false; } } ); oneOutput = new JCheckBox ("Output"); oneOutput.addItemListener( new ItemListener(){ public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) isOutput = true; else if (e.getStateChange() == ItemEvent.DESELECTED) isOutput = false; } } ); next = new JButton ("Next"); next.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ if(FlipflopType == "JK") JK(); } } ); first = new JFrame(); firstConLeft = new JPanel(); firstConRight = new JPanel(); firstConRight.setLayout(new GridLayout(9,1,0,0)); firstConRight.add(pleaseChooseFFType); firstConRight.add(FlipflopList); firstConRight.add(pleaseChooseFFNum); firstConRight.add(oneFlipflop); firstConRight.add(twoFlipflop); firstConRight.add(pleaseCheck); firstConRight.add(oneInput); firstConRight.add(oneOutput); firstConRight.add(next); JPanel Empty = new JPanel(); Empty.setLayout(new GridLayout(1,2)); Empty.add(firstConLeft); Empty.add(firstConRight); first.add(Empty); first.setSize(250,235); first.setVisible(true); //first.validate(); } public void JK(){ JFrame JKFrame = new JFrame(); JButton A = new JButton("A"); JButton B = new JButton("B"); JButton x = new JButton("x"); JButton open = new JButton ("("); JButton close = new JButton (")"); JButton and = new JButton("*"); JButton or = new JButton("+"); final JTextField JAEq = new JTextField(); final JTextField KAEq = new JTextField(); final JTextField JBEq = new JTextField(); final JTextField KBEq = new JTextField(); final JTextField OutputEq = new JTextField(); JPanel JKLeftPanel = new JPanel(); JPanel JKRightPanel = new JPanel(); JKRightPanel.setLayout(new GridLayout(7,2)); JKRightPanel.add(new JLabel("Enter the equations. ")); JKRightPanel.add(new JLabel("Observe Proper Syntax.")); JKRightPanel.add(new JLabel("JA = ")); JKRightPanel.add(JAEq); JKRightPanel.add(new JLabel("JB = ")); JKRightPanel.add(JBEq); JKRightPanel.add(new JLabel("KA = ")); JKRightPanel.add(KAEq); JKRightPanel.add(new JLabel("KB = ")); JKRightPanel.add(KBEq); JKRightPanel.add(new JLabel("x = ")); JKRightPanel.add(OutputEq); JKRightPanel.add(new JLabel("Generate: ")); JButton next = new JButton("next"); JKRightPanel.add(next); next.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e) { JAEquation = JAEq.getText(); JBEquation = JAEq.getText(); KAEquation = KAEq.getText(); KBEquation = KAEq.getText(); OutputEquation = OutputEq.getText(); genarateJK(); } } ); JKFrame.add(JKRightPanel); JKFrame.setSize(250,235); JKFrame.setVisible(true); } public void genarateJK(){ JFrame JKTableFrame = new JFrame(); int c = 0; int nextA[] = {0,0}; //Storage for next state A (has default values) int nextB[]= {0,0}; //Storage for next state B (has default values) int JA[] = {0,0}; //Storage for JA Values int JB[] = {0,0}; //Storage for JB Values int KA[] = {0,0}; //Storage for KA Values int KB[] = {0,0}; //Storage for KB Values if(isOneFlipflop && !isInput){ // one flipflop, no input, no output String[] A = {"1","0"}; c = 2; for(int j=0; j<c; j++){ //Complement of A String AComp = ""; if(A[j] == "0") AComp = "1"; else AComp = "0"; //replace JA Formula with current value of A' String subsJA = replace(JAEquation,"A'",AComp); while(!subsJA.equals(replace(JAEquation,"A'",AComp))){ subsJA = replace(JAEquation,"A",A[j]); } //replace JA Formula with current value of A subsJA = replace(JAEquation,"A",A[j]); while(!subsJA.equals(replace(JAEquation,"A",A[j]))){ subsJA = replace(JAEquation,"A",A[j]); } //replace KA Formula with current value of A' String subsKA = replace(KAEquation,"A'",AComp); while(!subsKA.equals(replace(KAEquation,"A",AComp))){ subsKA = replace(KAEquation,"A",A[j]); } //replace KA Formula with current value of A subsKA = replace(KAEquation,"A",A[j]); while(!subsKA.equals(replace(KAEquation,"A",A[j]))){ subsKA = replace(KAEquation,"A",A[j]); } try{ Parser parser = new Parser(); //compute the value of JA int computedJAValue = (int)parser.evaluate(subsJA); JA[j] = computedJAValue; //compute the value of KA int computedKAValue = (int)parser.evaluate(subsKA); KA[j] = computedKAValue; }catch(Exception e){ //testlang.setText(e.getMessage()); } if(JA[j] == 0 && KA[j] == 0){ nextA[j] = Integer.parseInt(A[j]); } else if(JA[j] == 0 && KA[j] == 1){ nextA[j] = 0; } else if(JA[j] == 1 && KA[j] == 0){ nextA[j] = 1; } else if(JA[j] == 1 && KA[j] == 1){ if(A[j] == "0") nextA[j] = 1; else if(A[j] == "1") nextA[j] = 0; } }//End for loop JKTableFrame.setLayout(new GridLayout(1,4)); JKTableFrame.add(new JLabel("<html>Present<br>States<br>"+A[0]+"<br>"+A[1])); JKTableFrame.add(new JLabel("<html>JA<br><br>"+JA[0]+"<br>"+JA[1])); JKTableFrame.add(new JLabel(JAEquation)); //JKTableFrame.add(new JLabel("<html>KA<br><br>"+KA[0]+"<br>"+KA[1])); JKTableFrame.add(new JLabel("<html>Next<br>States<br>"+nextA[0]+"<br>"+nextA[1])); }//End one flipflop, no input, no output JKTableFrame.setSize(250,235); JKTableFrame.setVisible(true); } static String replace(String str, String pattern, String replace) { int s = 0; int e = 0; StringBuffer result = new StringBuffer(); while ((e = str.indexOf(pattern, s)) >= 0) { result.append(str.substring(s, e)); result.append(replace); s = e+pattern.length(); } result.append(str.substring(s)); return result.toString(); } public static void main(String[] args) { // TODO Auto-generated method stub FFGen gui = new FFGen(); gui.First(); gui.repaint(); } }
![]() |
Similar Threads
- Can't seem to let user input necessary information (C++)
- stopping program to get user input from option buttons (Visual Basic 4 / 5 / 6)
- Receiving user input to direct program (C++)
- Type Conversion of User Input: (C++)
- Error Checking for user input (Java)
- Creating a GUI that accepts user input help (Java)
- Need Help With Error Checking User Input (C)
- Nested loop that runs until user enters 'q' (C++)
Other Threads in the Java Forum
- Previous Thread: Multiple Inheritence
- Next Thread: XOR Equation Expansion
| Thread Tools | Search this Thread |
Tag cloud for gui, problem, textfield
6 ajax android applicaions application array assignment automation avg basic box browser bug bugs buttons c# c++ char* chatprogramusingobjects client code codebox component connect consumer cpu crash css daniweb database display dragging drawing eclipse editor embedded error examples faq forms formview freeze glitch gui hardware html image java javascript keyword linux loop method mobileapplication mosaic netbeans newbie pause php post practice preview print problem processor producer programming pygame pyglet pygtk pyqt python registry regqueryvalueex repositories server sticky stop subdomain swing system test textfield textfields threads tkinter tree ui upload vb.net vb2008 virus vista webbrowser windowmanagers windows working wxpython xui xwnidow







