Java Unicode with Cool GUI Examples

34
https://www.facebook.com/Oxus20 [email protected] Java Unicode with Live GUI Examples » Unicode » Abjad Example » Bubble Example » Flip Example » English Number to Persian Prepared By: Nahid Razaie Edited By: Abdul Rahman Sherzad

description

With Unicode you can program and accomplish many funny, cool and useful programs and tools as for instance, Abjad Calculator calculating the numerical value of letters derived from the Arabic alphabet through the use of the Abjad writing system, Bubble Text Generator to write letters in circle, Flip Text Generator to write letters upside down, Google Transliteration to convert English names to Persian/Arabic, etc.

Transcript of Java Unicode with Cool GUI Examples

Page 1: Java Unicode with Cool GUI Examples

https://www.facebook.com/Oxus20

[email protected]

Java Unicode with

Live GUI Examples

» Unicode

» Abjad Example

» Bubble Example

» Flip Example

» English Number to Persian

Prepared By: Nahid Razaie

Edited By: Abdul Rahman Sherzad

Page 2: Java Unicode with Cool GUI Examples

Agenda

» Unicode Characters

» Abjad Examples

˃ 786 <= بسم اهلل الرحمن الرحیم

» Bubble Examples

˃ OXUS20 => ⓄⓍⓊⓈ②⓪

» Flip Examples

˃ Oxus20 => 02snxo

» Number Examples

˃ 1234567890 => ۱۲۳۴۵۶۷۸۹۰

2

https://www.facebook.com/Oxus20

Page 3: Java Unicode with Cool GUI Examples

Character Sets » ASCII

˃ The 128 most commonly-used characters are each represented by a sequence of 7 bits known as the character’s ASCII code.

˃ The characters include letters, digits, punctuation marks, and nonprintable control characters such as the backspace, tab, carriage return, etc.

» Unicode

˃ The Unicode standard defines underlying numeric values for a huge set of 65,536 characters.

3

https://www.facebook.com/Oxus20

Page 4: Java Unicode with Cool GUI Examples

Unicode Tips

» Bubble Example

˃ OXUS20 => ⓄⓍⓊⓈ➁ⓞ

» Flip Example

˃ OXUS20 => 02snxo

» English Number to Persian

˃ 1234 => ۱۲۳۴ 4

https://www.facebook.com/Oxus20

Page 5: Java Unicode with Cool GUI Examples

What is Abjad ?

» Every letter in the Arabic alphabet has a numerical (Gematrical) value.

» A number of calculations can be made from this basis.

» These are referred to as numerological (Abjad) calculations.

https://www.facebook.com/Oxus20

5

Page 6: Java Unicode with Cool GUI Examples

Abjad Calculation Example

بسم اهلل الرحمن الرحیم

786

Arabic Letters Values

2 ب

60 س

40 م

1 ا

30 ل

30 ل

5 ه

1 ا

30 ل

200 ر

8 ح

40 م

50 ن

1 ا

30 ل

200 ر

8 ح

10 ی

40 م

Total 786 https://www.facebook.com/Oxus20

6

Page 7: Java Unicode with Cool GUI Examples

Abjad Calculator in JAVA Graphical User Interface

7

https://www.facebook.com/Oxus20

Page 8: Java Unicode with Cool GUI Examples

Abjad Calculator in JAVA Required Components

» JLabel

» JTextField

» JButton

» JPanel

» ImageIcon

8

https://www.facebook.com/Oxus20

Page 9: Java Unicode with Cool GUI Examples

Abjad Calculator in JAVA (Source Code) import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class AbjadCalculator extends JFrame implements ActionListener {

// Require Components Declarations

private JLabel lblInput, lblOutput;

private JTextField txtInput, txtOutput;

private JButton btnCalculate, btnExit;

private JPanel panelSouth, panelNorth;

private ImageIcon imgBackround;

private JLabel lblBackground; 9

https://www.facebook.com/Oxus20

Page 10: Java Unicode with Cool GUI Examples

public AbjadCalculator() {

// Background Customization

imgBackround = new ImageIcon(getClass().getResource("background.jpg"));

lblBackground = new JLabel(imgBackround);

add(lblBackground);

// Labels and TextFields Customization

lblInput = new JLabel("Type your name in Arabic/Persian:");

lblInput.setForeground(Color.white);

txtInput = new JTextField("بسم هللا الرحمن الرحیم");

txtInput.setHorizontalAlignment(JTextField.RIGHT);

lblOutput = new JLabel("Abjad calculation of your name:");

lblOutput.setForeground(Color.white);

txtOutput = new JTextField("786");

panelNorth = new JPanel();

panelNorth.setBackground(new Color(0, 153, 204));

panelNorth.setLayout(new GridLayout(3, 2));

panelNorth.add(lblInput);

panelNorth.add(txtInput);

panelNorth.add(lblOutput);

panelNorth.add(txtOutput);

add(panelNorth, BorderLayout.NORTH);

10

https://www.facebook.com/Oxus20

Page 11: Java Unicode with Cool GUI Examples

// Buttons Customization

btnCalculate = new JButton("Calculate");

btnCalculate.addActionListener(this);

btnExit = new JButton("Exit");

btnExit.addActionListener(this);

panelSouth = new JPanel();

panelSouth.setBackground(new Color(0, 153, 204));

panelSouth.add(btnCalculate);

panelSouth.add(btnExit);

add(panelSouth, BorderLayout.SOUTH);

// JFrame Customization

setUndecorated(true);

setSize(500, 317);

setLocationRelativeTo(null);

setVisible(true);

}

11

https://www.facebook.com/Oxus20

Page 12: Java Unicode with Cool GUI Examples

// Add action to calculation and exit buttons

public void actionPerformed(ActionEvent e) {

if (e.getSource() == btnCalculate) {

int total = 0;

String inputStr = txtInput.getText();

for (int i = 0; i < inputStr.length(); i++) {

total += Integer.parseInt(abjadKabir(inputStr.charAt(i)));

}

txtOutput.setText(String.valueOf(total));

}

if (e.getSource() == btnExit) {

System.exit(0);

}

}

12

https://www.facebook.com/Oxus20

Page 13: Java Unicode with Cool GUI Examples

13

https://www.facebook.com/Oxus20

Page 14: Java Unicode with Cool GUI Examples

Abjad Calculator in JAVA (End of Source Code)

public static void main(String[] args) {

new AbjadCalculator();

}

}

14

https://www.facebook.com/Oxus20

Page 15: Java Unicode with Cool GUI Examples

Bubble Example in JAVA Graphical User Interface

15

https://www.facebook.com/Oxus20

Page 16: Java Unicode with Cool GUI Examples

Bubble Example in JAVA Source Code import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Bubble extends JFrame implements ActionListener, KeyListener {

// Declaring Components

private JLabel lblInput, lblOutput;

private JTextField txtInput, txtOutput;

private JButton btnExit;

private JPanel panelSouth, panelNorth;

private ImageIcon imgBackground;

private JLabel lblBackground; 16

https://www.facebook.com/Oxus20

Page 17: Java Unicode with Cool GUI Examples

public Bubble() {

// Background Settings and Customizations

imgBackground = new ImageIcon(getClass().getResource("background.jpg"));

lblBackground = new JLabel(imgBackground);

add(lblBackground);

// Labels and TextFields Settings and Customizations

lblInput = new JLabel("Enter Your Text:");

lblInput.setForeground(Color.white);

txtInput = new JTextField("OXUS20");

txtInput.addKeyListener(this);

lblOutput = new JLabel("Result in Bubble:");

lblOutput.setForeground(Color.white);

txtOutput = new JTextField("ⓄⓍⓊⓈ➁ⓞ");

panelNorth = new JPanel();

panelNorth.setBackground(new Color(0, 153, 204));

panelNorth.setLayout(new GridLayout(2, 2, 9, 2));

panelNorth.add(lblInput);

panelNorth.add(txtInput);

panelNorth.add(lblOutput);

panelNorth.add(txtOutput);

add(panelNorth, BorderLayout.NORTH); 17

https://www.facebook.com/Oxus20

Page 18: Java Unicode with Cool GUI Examples

// Exit Button Settings and Customizations

btnExit = new JButton("Exit");

btnExit.addActionListener(this);

panelSouth = new JPanel();

panelSouth.setBackground(new Color(0, 153, 204));

panelSouth.add(btnExit);

add(panelSouth, BorderLayout.SOUTH);

// JFrame Settings and Customizations

setUndecorated(true);

setSize(500, 317);

setLocationRelativeTo(null);

setVisible(true);

}

// Adding Action to our program

public void actionPerformed(ActionEvent e) {

if (e.getSource() == btnExit) {

System.exit(0);

}

}

public void keyPressed(KeyEvent e) {

}

public void keyTyped(KeyEvent e) {

}

18

https://www.facebook.com/Oxus20

Page 19: Java Unicode with Cool GUI Examples

public void keyReleased(KeyEvent e) {

if (e.getSource() == txtInput) {

String input = txtInput.getText();

String change = input.replace('0', 'ⓞ').replace('1', '➀')

.replace('2', '➁').replace('3', '➂').replace('4', '➃')

.replace('5', '➄').replace('6', '➅').replace('7', '➆')

.replace('8', '➇').replace('9', '➈').replace('a', 'ⓐ')

.replace('b', 'ⓑ').replace('c', 'ⓒ').replace('d', 'ⓓ')

.replace('e', 'ⓔ').replace('f', 'ⓕ').replace('g', 'ⓖ')

.replace('h', 'ⓗ').replace('i', 'ⓘ').replace('j', 'ⓙ')

.replace('k', 'ⓚ').replace('l', 'ⓛ').replace('m', 'ⓜ')

.replace('n', 'ⓝ').replace('o', 'ⓞ').replace('p', 'ⓟ')

.replace('q', 'ⓠ').replace('r', 'ⓡ').replace('s', 'ⓢ')

.replace('t', 'ⓣ').replace('u', 'ⓤ').replace('v', 'ⓥ')

.replace('w', 'ⓦ').replace('x', 'ⓧ').replace('y', 'ⓨ')

.replace('z', 'ⓩ').replace('A', 'Ⓐ').replace('B', 'Ⓑ')

.replace('C', 'Ⓒ').replace('D', 'Ⓓ').replace('E', 'Ⓔ')

.replace('F', 'Ⓕ').replace('G', 'Ⓖ').replace('H', 'Ⓗ')

.replace('I', 'Ⓘ').replace('J', 'Ⓙ').replace('K', 'Ⓚ')

.replace('L', 'Ⓛ').replace('M', 'Ⓜ').replace('N', 'Ⓝ')

.replace('O', 'Ⓞ').replace('P', 'Ⓟ').replace('Q', 'Ⓠ')

.replace('R', 'Ⓡ').replace('S', 'Ⓢ').replace('T', 'Ⓣ')

.replace('U', 'Ⓤ').replace('V', 'Ⓥ').replace('W', 'Ⓦ')

.replace('X', 'Ⓧ').replace('Y', 'Ⓨ').replace('Z', 'Ⓩ');

txtOutput.setText(change);

}

}

19

https://www.facebook.com/Oxus20

Page 20: Java Unicode with Cool GUI Examples

Bubble Example in JAVA (End of Source Code)

public static void main(String[] args) {

new Bubble();

}

}

20

https://www.facebook.com/Oxus20

Page 21: Java Unicode with Cool GUI Examples

Flip Example in JAVA Graphical User Interface

21

https://www.facebook.com/Oxus20

Page 22: Java Unicode with Cool GUI Examples

Flip Example in JAVA Source Code import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Flip extends JFrame implements KeyListener {

// Required Components Declarations

private JLabel lblInput, lblOutput;

private JTextField txtInput, txtOutput;

private JButton btnExit;

private JPanel panelSouth, panelNorth;

private ImageIcon imgBackground;

private JLabel lblBackground; 22

https://www.facebook.com/Oxus20

Page 23: Java Unicode with Cool GUI Examples

public Flip() {

// Background Settings and Customizations

imgBackground = new ImageIcon(getClass().getResource("background.jpg"));

lblBackground = new JLabel(imgBackground);

add(lblBackground);

// Labels and TextFields Settings and Customizations

lblInput = new JLabel("Enter Your Text:");

lblInput.setForeground(Color.white);

txtInput = new JTextField("Flip and Upside down");

txtInput.addKeyListener(this);

lblOutput = new JLabel("Result in Flip:");

lblOutput.setForeground(Color.white);

txtOutput = new JTextField("Ⅎ !ן d ɐnd ∩ds!dǝ doʍn");

panelNorth = new JPanel();

panelNorth.setBackground(new Color(0, 153, 204));

panelNorth.setLayout(new GridLayout(2, 2, 0, 2));

panelNorth.add(lblInput);

panelNorth.add(txtInput);

panelNorth.add(lblOutput);

panelNorth.add(txtOutput);

add(panelNorth, BorderLayout.NORTH); 23

https://www.facebook.com/Oxus20

Page 24: Java Unicode with Cool GUI Examples

// Exit Button Settings and Customizations

btnExit = new JButton("Exit");

btnExit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

panelSouth = new JPanel();

panelSouth.setBackground(new Color(0, 153, 204));

panelSouth.add(btnExit);

add(panelSouth, BorderLayout.SOUTH);

// JFrame Settings and Customizations

setUndecorated(true);

setSize(500, 317);

setLocationRelativeTo(null);

setVisible(true);

}

public void keyPressed(KeyEvent e) {

}

public void keyTyped(KeyEvent arg0) {

} 24

https://www.facebook.com/Oxus20

Page 25: Java Unicode with Cool GUI Examples

public void keyReleased(KeyEvent e) {

if (e.getSource() == txtInput) {

String input = txtInput.getText();

String change = input.replace('a', 'ɐ').replace('b', 'q')

.replace('c', 'ɔ').replace('d', 'p').replace('e', 'ǝ')

.replace('f', 'ɟ').replace('g', 'ƃ').replace('h', 'ɥ')

.replace('i', '!').replace('j', 'ɾ').replace('k', 'ʞ')

.replace('l', ' (.'ן replace('m', 'ɯ').replace('n', 'u')

.replace('o', 'o').replace('p', 'd').replace('q', 'b')

.replace('r', 'ɹ').replace('s', 's').replace('t', 'ʇ')

.replace('u', 'n').replace('v', 'ʌ').replace('w', 'ʍ')

.replace('x', 'x').replace('y', 'ʎ').replace('z', 'z')

.replace('A', '∀').replace('B', 'ᗺ').replace('C', 'Ɔ')

.replace('D', 'p').replace('E', 'Ǝ').replace('F', 'Ⅎ')

.replace('G', ' (.'פ replace('H', 'H').replace('I', 'I')

.replace('J', 'ſ').replace('K', 'ʞ').replace('L', '˥')

.replace('M', 'W').replace('N', 'N').replace('O', 'O')

.replace('P', 'd').replace('Q', 'ઠ').replace('R', 'ᴚ')

.replace('S', 'S').replace('T', '⊥').replace('U', '∩')

.replace('V', 'ᴧ').replace('W', 'M').replace('X', 'X')

.replace('Y', 'ʎ').replace('Z', 'Z');

txtOutput.setText(change);

}

} 25

https://www.facebook.com/Oxus20

Page 26: Java Unicode with Cool GUI Examples

Flip Example in JAVA (End of Source Code)

public static void main(String[] args) {

new Flip();

}

}

26

https://www.facebook.com/Oxus20

Page 27: Java Unicode with Cool GUI Examples

English Number to Persian in JAVA Graphical User Interface

27

https://www.facebook.com/Oxus20

Page 28: Java Unicode with Cool GUI Examples

English Number to Persian in JAVA Source Code import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class PersianNumbers extends JFrame implements KeyListener {

// Declaring Components

private JLabel lblInput, lblOutput;

private JTextField txtInput, txtOutput;

private JButton btnExit;

private JPanel panelSouth, panelNorth;

private ImageIcon imgBackground;

private JLabel lblBackground; 28

https://www.facebook.com/Oxus20

Page 29: Java Unicode with Cool GUI Examples

public PersianNumbers() {

// Background Settings and Customizations

imgBackground = new ImageIcon(getClass().getResource("background.jpg"));

lblBackground = new JLabel(imgBackground);

add(lblBackground);

// Labels and TextFields Settings and Customizations

lblInput = new JLabel("Enter English Number :");

lblInput.setForeground(Color.white);

txtInput = new JTextField("0123456789");

txtInput.addKeyListener(this);

lblOutput = new JLabel("Result of Persion Number :");

lblOutput.setForeground(Color.white);

txtOutput = new JTextField("٠١٢٣٤٥٦٧٨٩");

panelNorth = new JPanel();

panelNorth.setBackground(new Color(0, 153, 204));

panelNorth.setLayout(new GridLayout(2, 2, 0, 2));

panelNorth.add(lblInput);

panelNorth.add(txtInput);

panelNorth.add(lblOutput);

panelNorth.add(txtOutput);

add(panelNorth, BorderLayout.NORTH);

29

https://www.facebook.com/Oxus20

Page 30: Java Unicode with Cool GUI Examples

// Exit Button Settings and Customizations

btnExit = new JButton("Exit");

btnExit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

panelSouth = new JPanel();

panelSouth.setBackground(new Color(0, 153, 204));

panelSouth.add(btnExit);

add(panelSouth, BorderLayout.SOUTH);

// JFrame Settings and Customizations

setUndecorated(true);

setSize(500, 317);

setLocationRelativeTo(null);

setVisible(true);

}

public void keyPressed(KeyEvent arg0) {

}

public void keyTyped(KeyEvent arg0) {

}

30

https://www.facebook.com/Oxus20

Page 31: Java Unicode with Cool GUI Examples

English Number to Persian in JAVA End of Source Code

public void keyReleased(KeyEvent e) {

if (e.getSource() == txtInput) {

String input = txtInput.getText();

String change = input.replace('0', '\u0660').replace('1', '\u0661')

.replace('2', '\u0662').replace('3', '\u0663')

.replace('4', '\u0664').replace('5', '\u0665')

.replace('6', '\u0666').replace('7', '\u0667')

.replace('8', '\u0668').replace('9', '\u0669');

txtOutput.setText(change);

}

}

public static void main(String[] args) {

new PersianNumbers();

}

}

31

https://www.facebook.com/Oxus20

Page 32: Java Unicode with Cool GUI Examples

Tips Simple String Methods

» charAt() ˃ The charAt(index) method returns the character at a specific index in

the string.

˃ The first character of a string is at index 0, the next at index 1, and so on.

˃ The index argument must be greater than or equal to 0, and less than the length of the string buffer.

» replaceAll() ˃ The String class also contains the replaceAll method for replacing and

splitting strings

˃ The replaceAll method replaces all matching substring. 32

https://www.facebook.com/Oxus20

Page 33: Java Unicode with Cool GUI Examples

Unicode Further Works and Suggestions

» Transliteration

˃ English Name to Persian/Arabic

˃ Nahid Razaie => ناهید رضایی

» Google Transliteration

˃ Salam => سالم

˃ Ba OXUS20 Khush Amadid => 20خوش آمدید به آکسیوس 33

https://www.facebook.com/Oxus20

Page 34: Java Unicode with Cool GUI Examples

END

https://www.facebook.com/Oxus20

34