Advertisement
LendraD

CaesarChipper GUI

May 26th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.85 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4.  
  5. public final class Chipper extends JFrame{
  6.    
  7.     final String KEY_ERROR="Invalid Key";
  8.     final String IS_STRING="1 karakter untuk key";
  9.     final String TEXTFIELD_EMPTY="Text kosong";
  10.     final String KEYFIELD_EMPTY="Key kosong";
  11.    
  12.     String hasil;
  13.     boolean focus=false;
  14.     JTextField res;
  15.     JPanel panel=new JPanel();
  16.     JLabel inTxt =new JLabel("Text  : ");
  17.     JLabel inkey =new JLabel("Key   : ");
  18.     JLabel resLb =new JLabel("Result: ");
  19.     JLabel stats =new JLabel();
  20.     JTextField txt=new JTextField(20);
  21.     JTextField key=new JTextField(1);
  22.     JTextField result=new JTextField(1);
  23.     JButton enc =new JButton("Enskripsi");
  24.     JButton dec =new JButton("Deskripsi");
  25.    
  26.     public static void main(String[]args){
  27.         try{
  28.             SwingUtilities.invokeLater(new Runnable() {
  29.                 @Override
  30.                 public void run() {
  31.                     Chipper frm=new Chipper();
  32.                 }
  33.             });
  34.         }catch(Exception e){
  35.             System.out.println("Gagal karena "+e);
  36.         }
  37.     }
  38.     Chipper(){
  39.         super("Chipper");
  40.         setupFrame();
  41.     }
  42.     void setupFrame(){
  43.         // Set Things Up
  44.         panel.setBackground(Color.DARK_GRAY);
  45.         panel.setLayout(null);
  46.         panel.setBounds(10, 10, 200, 300);
  47.         this.setLocationByPlatform(true);
  48.         inTxt.setForeground(Color.WHITE);
  49.         inkey.setForeground(Color.WHITE);
  50.         resLb.setForeground(Color.WHITE);
  51.         txt.setText("Text untuk enskipsi/deskripsi");
  52.         inTxt.setBounds(20, 20, 50, 20);
  53.         txt.setBounds(60, 20, 300, 20);
  54.         inkey.setBounds(370, 20, 50, 20);
  55.         key.setBounds(410, 20, 20, 20);
  56.         enc.setBounds(60, 45, 100, 30);
  57.         dec.setBounds(180, 45, 100, 30);
  58.         resLb.setBounds(20, 80, 50, 20);
  59.         result.setBounds(60, 80, 300, 20);
  60.         stats.setBounds(300, 45, 140, 30);
  61.         stats.setForeground(Color.red);
  62.         txt.setForeground(Color.gray);
  63.         // Action :V
  64.         txt.addFocusListener(new FocusListener() {
  65.             @Override
  66.             public void focusGained(FocusEvent e) {
  67.                 if(!focus){
  68.                     txt.setForeground(Color.BLACK);
  69.                     txt.setText("");
  70.                     focus=true;
  71.                 }
  72.             }
  73.             @Override
  74.             public void focusLost(FocusEvent e) {}
  75.         });
  76.         enc.addMouseListener(new MouseListener() {
  77.             @Override
  78.             public void mouseClicked(MouseEvent e) {
  79.                 stats.setText("");
  80.                 String Skey=key.getText();
  81.                 if(txt.getText().equals("")||focus==false){
  82.                     stats.setText(TEXTFIELD_EMPTY);
  83.                     return;
  84.                 }
  85.                 if(Skey.length()==1){
  86.                     Character keyC=((int)Skey.charAt(0)>96)?(char)((int)Skey.charAt(0)-32):Skey.charAt(0);
  87.                     if(keyC>='A'&&keyC<='Z'){
  88.                         hasil=Chipper.enskrip(txt.getText(), keyC);
  89.                         result.setText(hasil);
  90.                     }else{
  91.                         stats.setText(KEY_ERROR);
  92.                         key.setText("");
  93.                     }
  94.                 }else if(Skey.length()<1){
  95.                         stats.setText(KEYFIELD_EMPTY);
  96.                 }else{
  97.                         stats.setText(IS_STRING);
  98.                         key.setText("");
  99.                 }
  100.             }
  101.             @Override
  102.             public void mousePressed(MouseEvent e) {}
  103.             @Override
  104.             public void mouseReleased(MouseEvent e) {}
  105.             @Override
  106.             public void mouseEntered(MouseEvent e) {}
  107.             @Override
  108.             public void mouseExited(MouseEvent e) {}
  109.         });
  110.         dec.addMouseListener(new MouseListener() {
  111.             @Override
  112.             public void mouseClicked(MouseEvent e) {
  113.                 stats.setText("");
  114.                 String Skey=key.getText();
  115.                 if(txt.getText().equals("")||focus==false){
  116.                     stats.setText(TEXTFIELD_EMPTY);
  117.                     return;
  118.                 }
  119.                 if(Skey.length()==1){
  120.                     Character keyC=((int)Skey.charAt(0)>96)?(char)((int)Skey.charAt(0)-32):Skey.charAt(0);
  121.                     if(keyC>='A'&&keyC<='Z'){
  122.                         hasil=Chipper.deskrip(txt.getText(), keyC);
  123.                         result.setText(hasil);
  124.                     }else{
  125.                         stats.setText(KEY_ERROR);
  126.                         key.setText("");
  127.                     }
  128.                 }else if(Skey.length()<1){
  129.                     stats.setText(KEYFIELD_EMPTY);
  130.                 }else{
  131.                     stats.setText(IS_STRING);
  132.                     key.setText("");
  133.                 }
  134.             }
  135.             @Override
  136.             public void mousePressed(MouseEvent e) {}
  137.             @Override
  138.             public void mouseReleased(MouseEvent e) {}
  139.             @Override
  140.             public void mouseEntered(MouseEvent e) {}
  141.             @Override
  142.             public void mouseExited(MouseEvent e) {}
  143.         });
  144.         // Put Everything here
  145.         panel.add(inTxt);
  146.         panel.add(txt);
  147.         panel.add(inkey);
  148.         panel.add(key);
  149.         panel.add(enc);
  150.         panel.add(dec);
  151.         panel.add(resLb);
  152.         panel.add(result);
  153.         panel.add(stats);
  154.         //Frame config
  155.         this.add(panel);
  156.         this.setFocusable(false);
  157.         this.setResizable(false);
  158.         this.setSize(new Dimension(460, 150));
  159.         this.setVisible(true);
  160.         this.setFocusable(true);
  161.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  162.         this.setLocationByPlatform(true);
  163.     }
  164.    
  165.     private static String enskrip(String text, char key){
  166.         String hasil;
  167.        
  168.         return hasil;
  169.     }
  170.    
  171.     private static String deskrip(String text, char key){
  172.        String hasil;
  173.        
  174.        return hasil;
  175.     }
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement