Thursday, July 4, 2013
Calculate your BOD
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = ""
Dim strYear() As String = {"Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snack", "Horse", "Goat", "Monkey", "Chicken", "Dog", "Pig"}
Dim strDOB As String = MaskedTextBox1.Text
Dim intAge As Integer = Math.Floor(DateDiff(DateInterval.Month, DateValue(strDOB), Now()) / 12)
Label1.Text = "Age : " & intAge
Dim thisDate1 As Date = MaskedTextBox1.Text
Label4.Text = "Date is " + thisDate1.ToString("MMMM dd, yyyy") + "."
Dim value1 As String = ""
Dim y As Integer = thisDate1.ToString("yyyy")
Dim x As Integer = (1901 - y) Mod 12
If x = 1 Or x = -11 Then
value1 = strYear(0)
ElseIf x = 0 Then
value1 = strYear(1)
ElseIf x = 11 Or x = -1 Then
value1 = strYear(2)
ElseIf x = 10 Or x = -2 Then
value1 = strYear(3)
ElseIf x = 9 Or x = -3 Then
value1 = strYear(4)
ElseIf x = 8 Or x = -4 Then
value1 = strYear(5)
ElseIf x = 7 Or x = -5 Then
value1 = strYear(6)
ElseIf x = 6 Or x = -6 Then
value1 = strYear(7)
ElseIf x = 5 Or x = -7 Then
value1 = strYear(8)
ElseIf x = 4 Or x = -8 Then
value1 = strYear(9)
ElseIf x = 3 Or x = -9 Then
value1 = strYear(10)
Else
If x = 2 Or x = -10 Then
value1 = strYear(11)
End If
End If
Label1.Text = "Date is " + thisDate1.ToString("MMMM dddd") + " " + value1 + " Year."
End Sub
End Class
Tuesday, June 18, 2013
Create your own download manager by VB.net
Imports System.Net
Public Class Form1
Public WithEvents Download As New WebClient
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
FolderBrowserDialog1.ShowDialog()
LbSaveAddress.Text = FolderBrowserDialog1.SelectedPath
Download = New WebClient
Download.DownloadFileAsync(New Uri(txtURL.Text), LbSaveAddress.Text + "\" + txtSaveFileName.Text)
End Sub
Private Sub Download_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles Download.DownloadProgressChanged
Button1.Text = "Downloading"
ProgressBar1.Value = e.ProgressPercentage
Label2.Text = e.ProgressPercentage & "%"
End Sub
Private Sub txtURL_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles txtURL.MouseDown
txtSaveFileName.Text = "Default.exe"
End Sub
End Class
Monday, June 17, 2013
Create Easy Print by VB.net
Public Class FrmEasyPrint
Private Sub cmdFont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFont.Click
Dim font_dialog As New FontDialog
If font_dialog.ShowDialog() = DialogResult.OK Then
TextBox1.Font = font_dialog.Font
End If
End Sub
Private Sub cmdPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrint.Click
If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print()
End If
End Sub
Private Sub cmdPrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrintPreview.Click
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim FontText As Font
FontText = TextBox1.Font
e.Graphics.DrawString(TextBox1.Text, FontText, New SolidBrush(Color.Black), 10, 10)
End Sub
End Class
Create your own Email sending by VB.net
Imports System.Net.Mail
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim EmailMessage As New MailMessage()
Try
EmailMessage.From = New MailAddress(txtFrom.Text)
EmailMessage.To.Add(txtTo.Text)
EmailMessage.Subject = txtSub.Text
EmailMessage.Body = txtMessage.Text
Dim SMTP As New SmtpClient("smtp.gmail.com")
SMTP.Port = 587
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential(txtFrom.Text, "YourEmailPassword")
SMTP.Send(EmailMessage)
MsgBox("Message has been send to," & txtTo.Text & " Successfully!")
Catch ex As Exception
MsgBox("Sending Fail")
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtFrom.Text = "YourEmail"
End Sub
End Class
Create Notepad by VB.net
Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click
RichTextBox1.Clear()
End Sub
Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click
Try
Dim dlg As OpenFileDialog = New OpenFileDialog
dlg.Title = "Open"
dlg.Filter = "Rich Text Files (*.rtf)|*.rtf"
If dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
RichTextBox1.LoadFile(dlg.FileName)
End If
Catch ex As Exception
MsgBox("Open File Error")
End Try
End Sub
Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click
Try
Dim dlg As SaveFileDialog = New SaveFileDialog
dlg.Title = "Save"
dlg.Filter = "Rich Text Files (*.rtf)|*.rtf"
If dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
RichTextBox1.SaveFile(dlg.FileName, RichTextBoxStreamType.RichText)
End If
Catch ex As Exception
MsgBox("Error to save file!")
End Try
End Sub
Private Sub UndoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UndoToolStripMenuItem.Click
RichTextBox1.Undo()
End Sub
Private Sub RedoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RedoToolStripMenuItem.Click
RichTextBox1.Redo()
End Sub
Private Sub CutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CutToolStripMenuItem.Click
RichTextBox1.Cut()
End Sub
Private Sub CopyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopyToolStripMenuItem.Click
RichTextBox1.Copy()
End Sub
Private Sub PasteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PasteToolStripMenuItem.Click
RichTextBox1.Paste()
End Sub
Private Sub ClearToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearToolStripMenuItem.Click
RichTextBox1.Clear()
End Sub
Private Sub SelectAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectAllToolStripMenuItem.Click
RichTextBox1.SelectAll()
End Sub
Private Sub FontToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontToolStripMenuItem.Click
Try
Dim dlg As FontDialog = New FontDialog
dlg.Font = RichTextBox1.Font
If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then
RichTextBox1.Font = dlg.Font
End If
Catch ex As Exception
MsgBox("Erro Font")
End Try
End Sub
Private Sub ColourToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ColourToolStripMenuItem.Click
Try
Dim dlg As ColorDialog = New ColorDialog
dlg.Color = RichTextBox1.ForeColor
If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then
RichTextBox1.ForeColor = dlg.Color
End If
Catch ex As Exception
MsgBox("Erro Color")
End Try
End Sub
End Class
Sunday, June 16, 2013
Saturday, June 15, 2013
Monday, June 3, 2013
Create Void Recorder with vb.net
Public Class Form1
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstyCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 1000
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label3.Text = "0.0"
Button1.Enabled = False
Button2.Enabled = True
mciSendString("open new Type waveaudio Alias recsound", "", 0, 0)
mciSendString("record recsound", "", 0, 0)
Timer1.Enabled = True
Label1.Text = "កំពុងថតសម្លេង...!"
Label1.Visible = True
Label2.Text = "File Location: "
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Button1.Enabled = True
Button2.Enabled = False
Label1.Text = "ការថតថម្លេងបានបញ្ចប់"
SaveFileDialog1.Title = "Save File Audio"
SaveFileDialog1.FileName = ""
SaveFileDialog1.Filter = "File MP3|*.mp3|File Wave|*.wav"
SaveFileDialog1.FilterIndex = 2
SaveFileDialog1.OverwritePrompt = True
SaveFileDialog1.ShowDialog()
mciSendString("save recsound " & SaveFileDialog1.FileName & "", "", 0, 0)
mciSendString("close recsound", "", 0, 0)
Timer1.Enabled = False
MsgBox("File Created: " & SaveFileDialog1.FileName & "", MsgBoxStyle.OkOnly, "Success")
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label3.Text += 0.01
End Sub
Private Sub AxWindowsMediaPlayer1_ClickEvent(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_ClickEvent) Handles AxWindowsMediaPlayer1.ClickEvent
AxWindowsMediaPlayer1.URL = SaveFileDialog1.FileName
AxWindowsMediaPlayer1.Ctlcontrols.play()
Label2.Text += SaveFileDialog1.FileName
Label1.Text = "កំពុងតែចាក់ស្តាប់"
End Sub
End Class
Sunday, June 2, 2013
Create you own shutdown management control system
Dim i, j As Integer
Dim TM As Date
Private Declare Function LockWorkStation Lib "user32.dll" () As Long
Private Declare Function ShutDownDialog Lib "shell32.all" Alias "#60" (ByVal any As Long)
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Text = "Shutdown Manager - " + TimeOfDay
Me.Label3.Text = "ពេលវេលាបច្ចុប្បន្ន៖ " + TimeOfDay
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer2.Interval = 10000
Timer1.Enabled = True
For Me.i = 0 To 23 Step 1
cboHourse.Items.Add(i)
Next
For Me.j = 0 To 60 Step 1
cboMinutes.Items.Add(j)
Next
End Sub
Private Sub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click
cmdStart.Text = "កំពុងដំណើរការ"
If Val(cboHourse.Text) > 0 Or Val(cboMinutes.Text) > 0 Then
TM = Now.AddMinutes(Val(cboHourse.Text) * 60 + Val(cboMinutes.Text))
Timer2.Enabled = True
lblStatuse.Text = "កំណត់ពេលវេលាគឺ៖ " + TM
Else
lblStatuse.Text = "សូមបញ្ចូលពេលវេលាជាមុន"
End If
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
If Now > TM Then
If RdoLogOff.Checked = True Then
Shell("shutdown -l")
End If
If RdoRestart.Checked = True Then
Shell("shutdown -r")
End If
If RdoShutDown.Checked = True Then
Shell("shutdown -s")
End If
If RdoLockPC.Checked = True Then
LockWorkStation()
End If
If RdoHybernate.Checked = True Then
Shell("shutdown -h")
End If
Timer1.Enabled = False
Timer2.Enabled = False
End If
End Sub
Private Sub cmdCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancel.Click
cmdStart.Text = "Start"
Timer2.Enabled = False
lblStatuse.Text = "ប្រព័ន្ធអាចចាប់ផ្តើមជាថ្មីបាន!"
End Sub
Private Sub cmdExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExit.Click
End
End Sub
End Class
Saturday, June 1, 2013
Create Stop Watch with Vb.net
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Button1.Text = "ចាប់ផ្តើម" Then
Timer1.Enabled = True
Button1.Text = "ផ្អាក"
Button3.Enabled = False
Else
Button1.Text = "ផ្អាក"
Timer1.Enabled = False
Button1.Text = "ចាប់ផ្តើម"
Button3.Enabled = True
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 1
Button1.Text = "ចាប់ផ្តើម"
Button3.Text = "សារដើម"
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Timer1.Enabled = False
Label1.Text = "0.0"
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = Label1.Text + 0.01
End Sub
End Class
Friday, May 31, 2013
Create a Date and Time using Cambodia Time
Imports System.Globalization
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = DateTime.Now.ToString("dddd 'ទី'dd 'ខែ'MMMM 'និងម៉ោង'h:mm:ss tt 'ត្រូវនឹងពេលវេលានៅភ្នំពេញណាបាទ!'", CultureInfo.CreateSpecificCulture("km-KH"))
Me.Label2.Text = TimeOfDay
End Sub
End Class
Created by RUPP LKT :D
VB.net with Listview Alarm Clock
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Label1.Text = TimeOfDay
For Each item As ListViewItem In Me.ListView1.Items
If item.SubItems(0).Text = Me.Label1.Text Then
MsgBox(item.SubItems(1).Text)
End If
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Allow the user to remove the alarm
If Me.ListView1.SelectedItems.Count > Nothing Then
Me.ListView1.SelectedItems(0).Remove()
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myAlarmTime As String
Dim myAlarmName As String
myAlarmTime = InputBox("Please add the time of the alarm")
myAlarmName = InputBox("Please select a name")
Dim lvitem As ListViewItem
lvitem = Me.ListView1.Items.Add(myAlarmTime)
lvitem.SubItems.Add(myAlarmName)
End Sub
End Class
This code was copy right by RUPP Student
Tuesday, May 28, 2013
Convert Number to Word with Java
import java.util.Scanner;
public class NumberToWord {
public static final String[] DIGITS = {"One", "Two", "Three", "Four", "Five","Six", "Seven", "Eight", "Nine"};
public static final String[] TENS = {null, "Twenty", "Thirty", "Forty", "Fifty","Sixty", "Seventy", "Eighty", "Ninety"};
public static final String[] TEENS = {"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen","Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"};
public static String wordifyNumber(int number) { // use for every grouping of 10^3 - thousands, millions, billions, etc.
StringBuilder sb = new StringBuilder();
int x = number / 100;
if (x > 0) // something in hundreds column
sb.append(DIGITS[x - 1] + " hundred");
x = number % 100;
int tens = x / 10;
if (tens > 0) { // something in tens column
if (sb.length() > 0)
sb.append(" ");
if (tens > 1)
sb.append(TENS[tens - 1]);
else {
sb.append(TEENS[x - 10]);
number = 0; // TEENS accounts for tens + digit; done!
}
}
x = number % 10;
if (x > 0) { // something in digits column
if (sb.length() > 0) {
if (tens >= 2) // twenty-, thirty-, etc.
sb.append("-");
else
sb.append(" ");
}
sb.append(DIGITS[x - 1]);
}
return sb.toString();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("Enter a number (or -1 to quit): ");
int number = scanner.nextInt();
if (number == -1)
break;
else if (number == 0)
System.out.println("Number = zero");
else {
System.out.print("Your number "+number+" = ");
if (number > 999) {
System.out.print(wordifyNumber(number / 1000) + " thousand");
number = number % 1000;
System.out.print(number > 99 ? ", " : " ");
}
System.out.println(wordifyNumber(number));
}
} //end while
System.out.println("Done.");
}
}
Show Date Of Birth with Java
import java.util.*;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
class test{
public static void main (String[] args) {
Calendar cal=Calendar.getInstance();
Date date1;
Scanner sc=new Scanner(System.in);
System.out.print("Enter day of birth: ");
int d=sc.nextInt();
System.out.print("Enter month of birth: ");
int m=sc.nextInt();
System.out.print("Enter year of birth: ");
int y=sc.nextInt();
cal.set(y,m,d);
String[] strDays = new String[]{"Sunday", "Monday", "Tuesday", "Wednesday", "Thusday", "Friday", "Saturday"};
String[] strMonths = new String[]{"JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY","AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER","DECEMBER"};
String[] strYears= new String[]{"Rat","Ox","Tiger","Rabbit","Dragon","Snack","Horse","Goat","Monkey","Chicken","Dog","Pig"};
if (m==1)
date1 = (new GregorianCalendar(y,Calendar.JANUARY, d)).getTime();
else if (m==2)
date1 = (new GregorianCalendar(y,Calendar.FEBRUARY, d)).getTime();
else if (m==3)
date1 = (new GregorianCalendar(y,Calendar.MARCH, d)).getTime();
else if(m==4)
date1 = (new GregorianCalendar(y,Calendar.APRIL, d)).getTime();
else if (m==5)
date1 = (new GregorianCalendar(y,Calendar.MAY, d)).getTime();
else if (m==6)
date1 = (new GregorianCalendar(y,Calendar.JUNE, d)).getTime();
else if (m==7)
date1 = (new GregorianCalendar(y,Calendar.JULY, d)).getTime();
else if (m==8)
date1 = (new GregorianCalendar(y,Calendar.AUGUST, d)).getTime();
else if (m==9)
date1 = (new GregorianCalendar(y,Calendar.SEPTEMBER, d)).getTime();
else if (m==10)
date1 = (new GregorianCalendar(y,Calendar.OCTOBER, d)).getTime();
else if (m==11)
date1 = (new GregorianCalendar(y,Calendar.NOVEMBER, d)).getTime();
else
date1 = (new GregorianCalendar(y,Calendar.DECEMBER, d)).getTime();
System.out.println ("\nYour Birth Date is "+d+"/"+m+"/"+y+" = "+new SimpleDateFormat("EEEE").format(date1)+" - "+strMonths[cal.get(Calendar.MONTH)-1]+" - "+strYears[cal.get(Calendar.YEAR)%12-4]+" Year.");
}
}
Create Calculator with Java Swing
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
public class Calculator extends JFrame implements ActionListener{
// Variables
final int MAX_INPUT_LENGTH = 20;
final int INPUT_MODE = 0;
final int RESULT_MODE = 1;
final int ERROR_MODE = 2;
int displayMode;
boolean clearOnNextDigit, percent;
double lastNumber;
String lastOperator;
private JMenu jmenuFile, jmenuHelp;
private JMenuItem jmenuitemExit, jmenuitemAbout;
private JLabel jlbOutput;
private JButton jbnButtons[];
private JPanel jplMaster, jplBackSpace, jplControl;
/*
* Font(String name, int style, int size)
Creates a new Font from the specified name, style and point size.
*/
Font f12 = new Font("Times New Roman", 0, 12);
Font f121 = new Font("Times New Roman", 1, 12);
// Constructor
public Calculator()
{
/* Set Up the JMenuBar.
* Have Provided All JMenu's with Mnemonics
* Have Provided some JMenuItem components with Keyboard Accelerators
*/
jmenuFile = new JMenu("File");
jmenuFile.setFont(f121);
jmenuFile.setMnemonic(KeyEvent.VK_F);
jmenuitemExit = new JMenuItem("Exit");
jmenuitemExit.setFont(f12);
jmenuitemExit.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_X,
ActionEvent.CTRL_MASK));
jmenuFile.add(jmenuitemExit);
jmenuHelp = new JMenu("Help");
jmenuHelp.setFont(f121);
jmenuHelp.setMnemonic(KeyEvent.VK_H);
jmenuitemAbout = new JMenuItem("About Calculator");
jmenuitemAbout.setFont(f12);
jmenuHelp.add(jmenuitemAbout);
JMenuBar mb = new JMenuBar();
mb.add(jmenuFile);
mb.add(jmenuHelp);
setJMenuBar(mb);
//Set frame layout manager
setBackground(Color.gray);
jplMaster = new JPanel();
jlbOutput = new JLabel("0");
jlbOutput.setHorizontalTextPosition(JLabel.RIGHT);
jlbOutput.setBackground(Color.WHITE);
jlbOutput.setOpaque(true);
// Add components to frame
getContentPane().add(jlbOutput, BorderLayout.NORTH);
jbnButtons = new JButton[23];
// GridLayout(int rows, int cols, int hgap, int vgap)
JPanel jplButtons = new JPanel(); // container for Jbuttons
// Create numeric Jbuttons
for (int i=0; i<=9; i++)
{
// set each Jbutton label to the value of index
jbnButtons[i] = new JButton(String.valueOf(i));
}
// Create operator Jbuttons
jbnButtons[10] = new JButton("+/-");
jbnButtons[11] = new JButton(".");
jbnButtons[12] = new JButton("=");
jbnButtons[13] = new JButton("/");
jbnButtons[14] = new JButton("*");
jbnButtons[15] = new JButton("-");
jbnButtons[16] = new JButton("+");
jbnButtons[17] = new JButton("sqrt");
jbnButtons[18] = new JButton("1/x");
jbnButtons[19] = new JButton("%");
jplBackSpace = new JPanel();
jplBackSpace.setLayout(new GridLayout(1, 1, 2, 2));
jbnButtons[20] = new JButton("Backspace");
jplBackSpace.add(jbnButtons[20]);
jplControl = new JPanel();
jplControl.setLayout(new GridLayout(1, 2, 2 ,2));
jbnButtons[21] = new JButton(" CE ");
jbnButtons[22] = new JButton("C");
jplControl.add(jbnButtons[21]);
jplControl.add(jbnButtons[22]);
// Setting all Numbered JButton's to Blue. The rest to Red
for (int i=0; i<jbnButtons.length; i++) {
jbnButtons[i].setFont(f12);
if (i<10)
jbnButtons[i].setForeground(Color.blue);
else
jbnButtons[i].setForeground(Color.red);
}
// Set panel layout manager for a 4 by 5 grid
jplButtons.setLayout(new GridLayout(4, 5, 2, 2));
//Add buttons to keypad panel starting at top left
// First row
for(int i=7; i<=9; i++) {
jplButtons.add(jbnButtons[i]);
}
// add button / and sqrt
jplButtons.add(jbnButtons[13]);
jplButtons.add(jbnButtons[17]);
// Second row
for(int i=4; i<=6; i++)
{
jplButtons.add(jbnButtons[i]);
}
// add button * and x^2
jplButtons.add(jbnButtons[14]);
jplButtons.add(jbnButtons[18]);
// Third row
for( int i=1; i<=3; i++)
{
jplButtons.add(jbnButtons[i]);
}
//adds button - and %
jplButtons.add(jbnButtons[15]);
jplButtons.add(jbnButtons[19]);
//Fourth Row
// add 0, +/-, ., +, and =
jplButtons.add(jbnButtons[0]);
jplButtons.add(jbnButtons[10]);
jplButtons.add(jbnButtons[11]);
jplButtons.add(jbnButtons[16]);
jplButtons.add(jbnButtons[12]);
jplMaster.setLayout(new BorderLayout());
jplMaster.add(jplBackSpace, BorderLayout.WEST);
jplMaster.add(jplControl, BorderLayout.EAST);
jplMaster.add(jplButtons, BorderLayout.SOUTH);
// Add components to frame
getContentPane().add(jplMaster, BorderLayout.SOUTH);
requestFocus();
//activate ActionListener
for (int i=0; i<jbnButtons.length; i++){
jbnButtons[i].addActionListener(this);
}
jmenuitemAbout.addActionListener(this);
jmenuitemExit.addActionListener(this);
clearAll();
//add WindowListener for closing frame and ending program
addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e)
{
System.exit(0);
}
}
);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} //End of Contructor Calculator
// Perform action
public void actionPerformed(ActionEvent e){
double result = 0;
if(e.getSource() == jmenuitemAbout){
JDialog dlgAbout = new CustomABOUTDialog(this, "About Java Swing Calculator", true);
dlgAbout.setVisible(true);
}else if(e.getSource() == jmenuitemExit){
System.exit(0);
}
// Search for the button pressed until end of array or key found
for (int i=0; i<jbnButtons.length; i++)
{
if(e.getSource() == jbnButtons[i])
{
switch(i)
{
case 0:
addDigitToDisplay(i);
break;
case 1:
addDigitToDisplay(i);
break;
case 2:
addDigitToDisplay(i);
break;
case 3:
addDigitToDisplay(i);
break;
case 4:
addDigitToDisplay(i);
break;
case 5:
addDigitToDisplay(i);
break;
case 6:
addDigitToDisplay(i);
break;
case 7:
addDigitToDisplay(i);
break;
case 8:
addDigitToDisplay(i);
break;
case 9:
addDigitToDisplay(i);
break;
case 10: // +/-
processSignChange();
break;
case 11: // decimal point
addDecimalPoint();
break;
case 12: // =
processEquals();
break;
case 13: // divide
processOperator("/");
break;
case 14: // *
processOperator("*");
break;
case 15: // -
processOperator("-");
break;
case 16: // +
processOperator("+");
break;
case 17: // sqrt
if (displayMode != ERROR_MODE)
{
try
{
if (getDisplayString().indexOf("-") == 0)
displayError("Invalid input for function!");
result = Math.sqrt(getNumberInDisplay());
displayResult(result);
}
catch(Exception ex)
{
displayError("Invalid input for function!");
displayMode = ERROR_MODE;
}
}
break;
case 18: // 1/x
if (displayMode != ERROR_MODE){
try
{
if (getNumberInDisplay() == 0)
displayError("Cannot divide by zero!");
result = 1 / getNumberInDisplay();
displayResult(result);
}
catch(Exception ex) {
displayError("Cannot divide by zero!");
displayMode = ERROR_MODE;
}
}
break;
case 19: // %
if (displayMode != ERROR_MODE){
try {
result = getNumberInDisplay() / 100;
displayResult(result);
}
catch(Exception ex) {
displayError("Invalid input for function!");
displayMode = ERROR_MODE;
}
}
break;
case 20: // backspace
if (displayMode != ERROR_MODE){
setDisplayString(getDisplayString().substring(0,
getDisplayString().length() - 1));
if (getDisplayString().length() < 1)
setDisplayString("0");
}
break;
case 21: // CE
clearExisting();
break;
case 22: // C
clearAll();
break;
}
}
}
}
void setDisplayString(String s){
jlbOutput.setText(s);
}
String getDisplayString (){
return jlbOutput.getText();
}
void addDigitToDisplay(int digit){
if (clearOnNextDigit)
setDisplayString("");
String inputString = getDisplayString();
if (inputString.indexOf("0") == 0){
inputString = inputString.substring(1);
}
if ((!inputString.equals("0") || digit > 0) && inputString.length() < MAX_INPUT_LENGTH){
setDisplayString(inputString + digit);
}
displayMode = INPUT_MODE;
clearOnNextDigit = false;
}
void addDecimalPoint(){
displayMode = INPUT_MODE;
if (clearOnNextDigit)
setDisplayString("");
String inputString = getDisplayString();
// If the input string already contains a decimal point, don't
// do anything to it.
if (inputString.indexOf(".") < 0)
setDisplayString(new String(inputString + "."));
}
void processSignChange(){
if (displayMode == INPUT_MODE)
{
String input = getDisplayString();
if (input.length() > 0 && !input.equals("0"))
{
if (input.indexOf("-") == 0)
setDisplayString(input.substring(1));
else
setDisplayString("-" + input);
}
}
else if (displayMode == RESULT_MODE)
{
double numberInDisplay = getNumberInDisplay();
if (numberInDisplay != 0)
displayResult(-numberInDisplay);
}
}
void clearAll() {
setDisplayString("0");
lastOperator = "0";
lastNumber = 0;
displayMode = INPUT_MODE;
clearOnNextDigit = true;
}
void clearExisting(){
setDisplayString("0");
clearOnNextDigit = true;
displayMode = INPUT_MODE;
}
double getNumberInDisplay() {
String input = jlbOutput.getText();
return Double.parseDouble(input);
}
void processOperator(String op) {
if (displayMode != ERROR_MODE)
{
double numberInDisplay = getNumberInDisplay();
if (!lastOperator.equals("0"))
{
try
{
double result = processLastOperator();
displayResult(result);
lastNumber = result;
}
catch (DivideByZeroException e)
{
}
}
else
{
lastNumber = numberInDisplay;
}
clearOnNextDigit = true;
lastOperator = op;
}
}
void processEquals(){
double result = 0;
if (displayMode != ERROR_MODE){
try
{
result = processLastOperator();
displayResult(result);
}
catch (DivideByZeroException e) {
displayError("Cannot divide by zero!");
}
lastOperator = "0";
}
}
double processLastOperator() throws DivideByZeroException {
double result = 0;
double numberInDisplay = getNumberInDisplay();
if (lastOperator.equals("/"))
{
if (numberInDisplay == 0)
throw (new DivideByZeroException());
result = lastNumber / numberInDisplay;
}
if (lastOperator.equals("*"))
result = lastNumber * numberInDisplay;
if (lastOperator.equals("-"))
result = lastNumber - numberInDisplay;
if (lastOperator.equals("+"))
result = lastNumber + numberInDisplay;
return result;
}
void displayResult(double result){
setDisplayString(Double.toString(result));
lastNumber = result;
displayMode = RESULT_MODE;
clearOnNextDigit = true;
}
void displayError(String errorMessage){
setDisplayString(errorMessage);
lastNumber = 0;
displayMode = ERROR_MODE;
clearOnNextDigit = true;
}
public static void main(String args[]) {
Calculator calci = new Calculator();
Container contentPane = calci.getContentPane();
// contentPane.setLayout(new BorderLayout());
calci.setTitle("Java Swing Calculator");
calci.setSize(241, 217);
calci.pack();
calci.setLocation(400, 250);
calci.setVisible(true);
calci.setResizable(false);
}
} //End of Swing Calculator Class.
class DivideByZeroException extends Exception{
public DivideByZeroException()
{
super();
}
public DivideByZeroException(String s)
{
super(s);
}
}
class CustomABOUTDialog extends JDialog implements ActionListener {
JButton jbnOk;
CustomABOUTDialog(JFrame parent, String title, boolean modal){
super(parent, title, modal);
setBackground(Color.black);
JPanel p1 = new JPanel(new FlowLayout(FlowLayout.CENTER));
StringBuffer text = new StringBuffer();
text.append("Calculator Information\n\n");
text.append("Developer: Hemanth\n");
text.append("Version: 1.0");
JTextArea jtAreaAbout = new JTextArea(5, 21);
jtAreaAbout.setText(text.toString());
jtAreaAbout.setFont(new Font("Times New Roman", 1, 13));
jtAreaAbout.setEditable(false);
p1.add(jtAreaAbout);
p1.setBackground(Color.red);
getContentPane().add(p1, BorderLayout.CENTER);
JPanel p2 = new JPanel(new FlowLayout(FlowLayout.CENTER));
jbnOk = new JButton(" OK ");
jbnOk.addActionListener(this);
p2.add(jbnOk);
getContentPane().add(p2, BorderLayout.SOUTH);
setLocation(408, 270);
setResizable(false);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
Window aboutDialog = e.getWindow();
aboutDialog.dispose();
}
}
);
pack();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == jbnOk) {
this.dispose();
}
}
}
Subscribe to:
Posts (Atom)