JTextFieldのテキストを受け取り、JButtonを押したときに宣言した変数にテキストを入れるプログラムを作成しようとしています。学校のプロジェクトの週給を計算する必要がありますが、必要なのはコンソールだけです。自分の楽しみのためにGUIを実行しています。私はそれを取得しようとしているので、「calc」を押すと、id、rh、oh、hpなどから入力を取得し、週給(wp)を計算します。これは、右側の列の横に印刷されます。計算ボタン。
//the calculations aren't complete yet until I finish the GUI
public class Weekly_Pay
{
public static void calculations(String[] args)
{
Scanner imput = new Scanner(System.in);
System.out.println("ID number: ");
int employeeId = imput.nextInt();
System.out.println("Hourly Wage: ");
Double hourlyWage = imput.nextDouble();
System.out.println("Regular Hours: ");
double regularHours = imput.nextDouble();
System.out.println("Overtime Hours: ");
double overtimeHours = imput.nextDouble();
double overtimePay = round(overtimeHours * (1.5 * hourlyWage));
double regularPay = round(hourlyWage * regularHours);
double weeklyPay = regularPay + overtimePay;
System.out.println("Employee ID Number:" + employeeId);
System.out.printf("Weekly Pay: " + "$%.2f\n", weeklyPay);
}
public static double round(double num)
{
// rounding to two decimal places
num *= 100;
int rounded = (int) Math.round(num);
return rounded/100.0;
}
public static void main(String[] args)
{
JFrame window = new JFrame();
window.setTitle("Weekly Pay");
window.setSize(350, 200);
window.setResizable(false);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Color lGray = new Color(209, 209, 209);
JPanel panel = new JPanel();
GroupLayout layout = new GroupLayout(panel);
panel.setBackground(lGray);
panel.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
JTextField idEntry = new JTextField(); //where the user imputs their ID
JTextField hwEntry = new JTextField(); //where the user imputs their hourly wage
JTextField rhEntry = new JTextField(); //where the user imputs their regular hours
JTextField ohEntry = new JTextField(); //where the user imputs their overtime hours
JLabel id = new JLabel("ID Number");
JLabel hw = new JLabel("Hourly Wage");
JLabel rh = new JLabel("Regular Hours");
JLabel oh = new JLabel("Overtime Hours");
JButton calc = new JButton("Calculate");
JLabel wp = new JLabel(" Weekly Pay: $" + "$%.2f\n", weeklyPay);
GroupLayout.SequentialGroup hGroup = layout.createSequentialGroup();
hGroup.addGroup(layout.createParallelGroup().
addComponent(id).addComponent(hw).addComponent(rh).addComponent(oh).addComponent(calc));
hGroup.addGroup(layout.createParallelGroup().
addComponent(idEntry).addComponent(hwEntry).addComponent(rhEntry).addComponent(ohEntry).addComponent(wp));
layout.setHorizontalGroup(hGroup);
GroupLayout.SequentialGroup vGroup = layout.createSequentialGroup();
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(id).addComponent(idEntry));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(hw).addComponent(hwEntry));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(rh).addComponent(rhEntry));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(oh).addComponent(ohEntry));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(calc).addComponent(wp));
layout.setVerticalGroup(vGroup);
window.add(panel);
window.setVisible(true);
}
}