+ All Categories
Transcript
Page 1: Java Unicode with Live 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 Live 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 Live 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 Live 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 Live 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 Live 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 Live GUI Examples

Abjad Calculator in JAVA Graphical User Interface

7

https://www.facebook.com/Oxus20

Page 8: Java Unicode with Live GUI Examples

Abjad Calculator in JAVA Required Components

» JLabel

» JTextField

» JButton

» JPanel

» ImageIcon

8

https://www.facebook.com/Oxus20

Page 9: Java Unicode with Live 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 Live 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 Live 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 Live 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 Live GUI Examples

13

https://www.facebook.com/Oxus20

Page 14: Java Unicode with Live 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 Live GUI Examples

Bubble Example in JAVA Graphical User Interface

15

https://www.facebook.com/Oxus20

Page 16: Java Unicode with Live 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 Live 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 Live 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 Live 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 Live 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 Live GUI Examples

Flip Example in JAVA Graphical User Interface

21

https://www.facebook.com/Oxus20

Page 22: Java Unicode with Live 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 Live 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 Live 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 Live 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 Live 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 Live GUI Examples

English Number to Persian in JAVA Graphical User Interface

27

https://www.facebook.com/Oxus20

Page 28: Java Unicode with Live 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 Live 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 Live 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 Live 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 Live 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 Live 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 Live GUI Examples

END

https://www.facebook.com/Oxus20

34


Top Related