import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.JButton;
import javax.swing.SpinnerListModel;
import javax.swing.SpinnerNumberModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
// هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
static JFrame frame = new JFrame("JSpinner demo");
static JLabel label = new JLabel("Enter Time:");
static JSpinner hours = new JSpinner(new SpinnerNumberModel(1, 1, 12, 1));
static JSpinner minutes = new JSpinner(new SpinnerNumberModel(0, 0, 59, 1));
static JSpinner seconds = new JSpinner(new SpinnerNumberModel(0, 0, 59, 1));
static JSpinner amOrPm = new JSpinner(new SpinnerListModel( new String[]{"AM", "PM"} ));
static JButton btn = new JButton("Display Time");
static JLabel enteredTime = new JLabel();
public static void main(String[] args) {
// frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
label.setBounds(40, 40, 100, 22);
hours.setBounds(130, 40, 36, 22);
minutes.setBounds(180, 40, 36, 22);
seconds.setBounds(230, 40, 36, 22);
amOrPm.setBounds(280, 40, 36, 22);
btn.setBounds(40, 100, 110, 30);
enteredTime.setBounds(170, 100, 200, 30);
// frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
// frame هنا قمنا بتحديد خصائص الـ
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// btn هنا نضع الأوامر التي نريد تنفيذها في كل مرة يتم فيها تغيير قيمة الـ
btn.addActionListener(new ActionListener() {
// سيتم غرض القيمة التي إختارها
public void actionPerformed(ActionEvent e) {
enteredTime.setText(hours.getValue()+":"+minutes.getValue()+":"+seconds.getValue()+" "+amOrPm.getValue());
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.JButton;
import javax.swing.SpinnerListModel;
import javax.swing.SpinnerNumberModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
// هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
static JFrame frame = new JFrame("JSpinner demo");
static JLabel label = new JLabel("Enter Time:");
static JSpinner hours = new JSpinner(new SpinnerNumberModel(1, 1, 12, 1));
static JSpinner minutes = new JSpinner(new SpinnerNumberModel(0, 0, 59, 1));
static JSpinner seconds = new JSpinner(new SpinnerNumberModel(0, 0, 59, 1));
static JSpinner amOrPm = new JSpinner(new SpinnerListModel( new String[]{"AM", "PM"} ));
static JButton btn = new JButton("Display Time");
static JLabel enteredTime = new JLabel();
public static void main(String[] args) {
// frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
label.setBounds(40, 40, 100, 22);
hours.setBounds(130, 40, 36, 22);
minutes.setBounds(180, 40, 36, 22);
seconds.setBounds(230, 40, 36, 22);
amOrPm.setBounds(280, 40, 36, 22);
btn.setBounds(40, 100, 110, 30);
enteredTime.setBounds(170, 100, 200, 30);
// frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
frame.add(label);
frame.add(hours);
frame.add(minutes);
frame.add(seconds);
frame.add(amOrPm);
frame.add(btn);
frame.add(enteredTime);
// frame هنا قمنا بتحديد خصائص الـ
frame.setSize(400, 250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
frame.setVisible(true);
// btn هنا نضع الأوامر التي نريد تنفيذها في كل مرة يتم فيها تغيير قيمة الـ
btn.addActionListener(new ActionListener() {
@Override
// سيتم غرض القيمة التي إختارها
public void actionPerformed(ActionEvent e) {
enteredTime.setText(hours.getValue()+":"+minutes.getValue()+":"+seconds.getValue()+" "+amOrPm.getValue());
}
});
}
}