Create a JAVA GUI (With Frame), which allows to input a year and when hit the ch
ID: 3551356 • Letter: C
Question
Create a JAVA GUI (With Frame), which allows to input a year and when hit the check button, will show the picture of Chinese zodiac animal! I am trying to make a calculator: i have the method for or the calculation method to show how to calculate:
import java.util.Scanner;
public class ChineseZodiacDemo {
public static void main (String []args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a year: ");
int year = input.nextInt();
switch (year % 12) {
case 0: System.out.println("monkey"); break;
case 1: System.out.println("rooster"); break;
case 2: System.out.println("dog"); break;
case 3: System.out.println("pig"); break;
case 4: System.out.println("rat"); break;
case 5: System.out.println("ox"); break;
case 6: System.out.println("tiger"); break;
case 7: System.out.println("rabbit"); break;
case 8: System.out.println("dragon"); break;
case 9: System.out.println("snake"); break;
case 10: System.out.println("horse"); break;
case 11: System.out.println("sheep"); break;
}
}
}
Explanation / Answer
The following is the complete tested code for the zodiac application
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class ChineseZodiacDemo extends JFrame {
/**
* @param args
*/
private JLabel label = new JLabel("Enter the number");
private JTextField text = new JTextField("");
private JLabel result = new JLabel("Result");
private JButton check = new JButton("Check");
private myFrame() {
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1, 3));
// adding the elements to the panel
panel.add(label);
panel.add(text);
panel.add(check);
// adding listener to the button
check.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
//getting the integer and printing the zodiac
int year = Integer.parseInt(text.getText());
switch (year % 12) {
case 0:
result.setText("monkey");
break;
case 1:
result.setText("rooster");
break;
case 2:
result.setText("dog");
break;
case 3:
result.setText("pig");
break;
case 4:
result.setText("rat");
break;
case 5:
result.setText("ox");
break;
case 6:
result.setText("tiger");
break;
case 7:
result.setText("rabbit");
break;
case 8:
result.setText("dragon");
break;
case 9:
result.setText("snake");
break;
case 10:
result.setText("horse");
break;
case 11:
result.setText("sheep");
break;
default:
JOptionPane.showMessageDialog(null,
"Please enter correct input");
break;
}
}
});
//adding the panel to the frame
add(panel,BorderLayout.NORTH);
add(result,BorderLayout.CENTER);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//setting the frame properties
JFrame mainWindow = new ChineseZodiacDemo();
mainWindow.setTitle("Student management System");
mainWindow.setSize(500, 500);
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWindow.setLocationRelativeTo(null);
mainWindow.setResizable(false);
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWindow.setVisible(true);
}
}