Results 1 to 3 of 3
  1. #1
    Floetic's Avatar
    Floetic is offline Member
    Join Date
    Feb 2008
    Location
    Belfast, Northern Ireland, UK
    Posts
    8
    Rep Power
    0

    Exclamation Problem With RSA Interface

    Program complies and the interface shows up but there is no output
    after pressing run button. How come this is happening?

    Thanks.

    Java Code:
    package newpackage4;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.io.*;
    
    public class NewClass5 extends JFrame{
    
       public NewClass5() {
            initiateComponents();
        }
    
        private JLabel TitleLabel;
    
        private JPanel innerPanel;
    
        private JLabel StringInputLabel;
    
        private JTextField InputStringTextField;
    
        private JButton RunButton;
        private JButton SaveButton;
        private JButton ResetButton;
        private JButton ExitButton;
    
        private JTextArea OutputWindow;
    
        private char[] plainText;
    
        private void initiateComponents() {
            getContentPane().setLayout(null);
            setTitle("Simplified Simulation: RSA Security Algorithm");
            setSize(new Dimension(1025, 703));
            setLocation(0,0);
            setResizable(false);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            getContentPane().setBackground(new Color(100,200,200));
    
            getContentPane().add(getInnerPanel());
            getContentPane().add(getTitleLabel());
            populateInnerPanel();
        }
    
        private JLabel getTitleLabel() {
            TitleLabel = new JLabel();
            TitleLabel.setFont(new Font("Arial",1,44));
            TitleLabel.setText("        RSA Algorithm");
            TitleLabel.setBackground(new Color(255,255,255));
            TitleLabel.setBorder(new EtchedBorder());
            TitleLabel.setBounds(300,40,500,60);
            return TitleLabel;
        }
    
         private JPanel getInnerPanel() {
            innerPanel = new JPanel();
            innerPanel.setLayout(null);
            innerPanel.setBackground(new Color(190,255,255));
            innerPanel.setBorder(new TitledBorder(
                    new TitledBorder(null, "",
                        TitledBorder.DEFAULT_JUSTIFICATION,
                        TitledBorder.DEFAULT_POSITION,
                        new Font("Times New Roman", 1, 12))));
            innerPanel.setBounds(40,160,930,460);
            return innerPanel;
        }
    
        private void populateInnerPanel() {
            StringInputLabel = new JLabel();
            StringInputLabel.setFont(new Font("Bookman Old Style",0,13));
            StringInputLabel.setText("Enter in a word:");
            innerPanel.add(StringInputLabel);
            StringInputLabel.setBounds(65,20,110,20);
    
            InputStringTextField = new JTextField();
            InputStringTextField.setText(" ");
            innerPanel.add(InputStringTextField);
            InputStringTextField.setBounds(180,20,220,20);
    
            RunButton = new JButton();
            RunButton.setFont(new Font("Bookman Old Style",1,13));
            RunButton.setText("Run");
            innerPanel.add(RunButton);
            RunButton.setBounds(65,420,70,20);
    
            SaveButton = new JButton();
            SaveButton.setFont(new Font("Bookman Old Style",1,13));
            SaveButton.setText("Save");
            innerPanel.add(SaveButton);
            SaveButton.setBounds(305,420,70,20);
    
            ResetButton = new JButton();
            ResetButton.setFont(new Font("Bookman Old Style",1,13));
            ResetButton.setText("Reset");
            innerPanel.add(ResetButton);
            ResetButton.setBounds(555,420,80,20);
    
            ExitButton = new JButton();
            ExitButton.setFont(new Font("Bookman Old Style",1,13));
            ExitButton.setText("Exit");
            innerPanel.add(ExitButton);
            ExitButton.setBounds(794,420,70,20);
    
            OutputWindow = new JTextArea();
            Font equalSpacedFont = new Font("Monospaced",Font.PLAIN,14);
            OutputWindow.setFont(equalSpacedFont);
            OutputWindow.setEditable(false);
            JScrollPane scrollPane = new JScrollPane(OutputWindow);
            scrollPane.setBounds(65,70,800,330);
            innerPanel.add(scrollPane);
    
        }
    
        public void actionPerformed(ActionEvent event) {
            String arg = event.getActionCommand();
    
                    if(arg.equals("Run"))
                    {
                            try
                            {
                                    int plainTextLength = plainText.length;
                                    String inputString = InputStringTextField.getText();
                                    int inputStringLength = inputString.length();
                                    char[] result = new char[inputStringLength];
                                    //char currentSource = inputString.charAt(i);
                            }
                            catch (Exception e) {
    
                            }
    
                            int [] cipherText = new int[plainText.length];
    
                            System.out.print("\nPlaintext:\t ");
                            for(int i = 0; i < plainText.length; i++)
                            {
                               int tmp = (int)plainText[i]-64;
                               cipherText[i] = (tmp*tmp*tmp)%33;
                               System.out.print("\t"+plainText[i]);
                            }
                            System.out.print("\nCiphertext:\t");
                            for(int i = 0; i < cipherText.length; i++)
                            {
                                    System.out.print("\t"+cipherText[i]);
                            }
                    }
        }
    
        public static void main(String args[]) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    JFrame.setDefaultLookAndFeelDecorated(true);
                    NewClass5 nc5 = new NewClass5();
                    nc5.setVisible(true);
                }
            });
    
          }

  2. #2
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    20

    Default

    I have not tested your code, but seems to me you don't set the action command on your buttons.

  3. #3
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    20

    Default

    Ok here is the corrected code. I have done the exit part of the application, see what I have done changes in ExitButton.

    Java Code:
    package newpackage4;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.io.*;
    
    public class NewClass5 extends JFrame implements ActionListener{
    
       public NewClass5() {
            initiateComponents();
        }
    
        private JLabel TitleLabel;
    
        private JPanel innerPanel;
    
        private JLabel StringInputLabel;
    
        private JTextField InputStringTextField;
    
        private JButton RunButton;
        private JButton SaveButton;
        private JButton ResetButton;
        private JButton ExitButton;
    
        private JTextArea OutputWindow;
    
        private char[] plainText;
    
        private void initiateComponents() {
            getContentPane().setLayout(null);
            setTitle("Simplified Simulation: RSA Security Algorithm");
            setSize(new Dimension(1025, 703));
            setLocation(0,0);
            setResizable(false);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            getContentPane().setBackground(new Color(100,200,200));
    
            getContentPane().add(getInnerPanel());
            getContentPane().add(getTitleLabel());
            populateInnerPanel();
        }
    
        private JLabel getTitleLabel() {
            TitleLabel = new JLabel();
            TitleLabel.setFont(new Font("Arial",1,44));
            TitleLabel.setText("        RSA Algorithm");
            TitleLabel.setBackground(new Color(255,255,255));
            TitleLabel.setBorder(new EtchedBorder());
            TitleLabel.setBounds(300,40,500,60);
            return TitleLabel;
        }
    
         private JPanel getInnerPanel() {
            innerPanel = new JPanel();
            innerPanel.setLayout(null);
            innerPanel.setBackground(new Color(190,255,255));
            innerPanel.setBorder(new TitledBorder(
                    new TitledBorder(null, "",
                        TitledBorder.DEFAULT_JUSTIFICATION,
                        TitledBorder.DEFAULT_POSITION,
                        new Font("Times New Roman", 1, 12))));
            innerPanel.setBounds(40,160,930,460);
            return innerPanel;
        }
    
        private void populateInnerPanel() {
            StringInputLabel = new JLabel();
            StringInputLabel.setFont(new Font("Bookman Old Style",0,13));
            StringInputLabel.setText("Enter in a word:");
            innerPanel.add(StringInputLabel);
            StringInputLabel.setBounds(65,20,110,20);
    
            InputStringTextField = new JTextField();
            InputStringTextField.setText(" ");
            innerPanel.add(InputStringTextField);
            InputStringTextField.setBounds(180,20,220,20);
    
            RunButton = new JButton();
            RunButton.setFont(new Font("Bookman Old Style",1,13));
            RunButton.setText("Run");
            
            innerPanel.add(RunButton);
            RunButton.setBounds(65,420,70,20);
    
            SaveButton = new JButton();
            SaveButton.setFont(new Font("Bookman Old Style",1,13));
            SaveButton.setText("Save");
            innerPanel.add(SaveButton);
            SaveButton.setBounds(305,420,70,20);
    
            ResetButton = new JButton();
            ResetButton.setFont(new Font("Bookman Old Style",1,13));
            ResetButton.setText("Reset");
            innerPanel.add(ResetButton);
            ResetButton.setBounds(555,420,80,20);
    
            ExitButton = new JButton();
            ExitButton.setFont(new Font("Bookman Old Style",1,13));
            ExitButton.setText("Exit");
            innerPanel.add(ExitButton);
            ExitButton.setBounds(794,420,70,20);
            
            ExitButton.addActionListener(this); // Newly added code segment
    
            OutputWindow = new JTextArea();
            Font equalSpacedFont = new Font("Monospaced",Font.PLAIN,14);
            OutputWindow.setFont(equalSpacedFont);
            OutputWindow.setEditable(false);
            JScrollPane scrollPane = new JScrollPane(OutputWindow);
            scrollPane.setBounds(65,70,800,330);
            innerPanel.add(scrollPane);
    
        }
    
        public void actionPerformed(ActionEvent event) {
            String arg = event.getActionCommand();
    
                    if(arg.equals("Run"))
                    {
                            try
                            {
                                    int plainTextLength = plainText.length;
                                    String inputString = InputStringTextField.getText();
                                    int inputStringLength = inputString.length();
                                    char[] result = new char[inputStringLength];
                                    //char currentSource = inputString.charAt(i);
                            }
                            catch (Exception e) {
    
                            }
    
                            int [] cipherText = new int[plainText.length];
    
                            System.out.print("\nPlaintext:\t ");
                            for(int i = 0; i < plainText.length; i++)
                            {
                               int tmp = (int)plainText[i]-64;
                               cipherText[i] = (tmp*tmp*tmp)%33;
                               System.out.print("\t"+plainText[i]);
                            }
                            System.out.print("\nCiphertext:\t");
                            for(int i = 0; i < cipherText.length; i++)
                            {
                                    System.out.print("\t"+cipherText[i]);
                            }
                    }
            
            if("Exit".equals(event.getActionCommand())){  // Newly added code segment
                System.exit(0);
            }
        }
    
       
        public static void main(String args[]) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    JFrame.setDefaultLookAndFeelDecorated(true);
                    NewClass5 nc5 = new NewClass5();
                    nc5.setVisible(true);
                }
            });
    
          }
    }

Similar Threads

  1. ActionListener interface
    By tsantana in forum New To Java
    Replies: 2
    Last Post: 03-30-2008, 10:24 PM
  2. interface Comparable<T> problem
    By Lennon-Guru in forum New To Java
    Replies: 3
    Last Post: 03-05-2008, 12:17 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •