JMenuItemを使用してJButtonを作成しようとしています。私は新しいEmployee JMenuItemをクリックして、4つのJTextField:Employee Name、Employee IDNumber、Employee Pay Rate、Employee Hours Workedと1つのJButton、Applyを持つフレームを開きます。ユーザーがJTextFieldsにデータを入力してApply JButtonを押すと、メインウィンドウに入力されたデータを含むJButtonが追加されます。ここでJMenuItemとActionListenerを使用してJButtonを作成する方法
は、プログラム表示
public ProgramDisplay() {
setTitle("Fluid Accounts");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(5, 5));
account = new JButton("<html>" + "Samuel Tayman" + "<br>" + "Wages: " + findPay(hours, payRate));
add(account);
account = new JButton("<html>" + "Janice" + "<br>" + "Wages: " + findPay(hours, payRate));
add(account);
buildMenuBar();
pack();
setVisible(true);
}
ためのコードであり、ここでActionListener
と新入社員JMenuItem
ためのコードは次のとおりです。
private void buildEmployeeMenu()
{
newEmployee = new JMenuItem("New Employee");
newEmployee.addActionListener(new NewListener());
employeeMenu = new JMenu("Employees");
employeeMenu.add(newEmployee);
}
/**
* Private inner class that handles the event that is generated when the
* user selects New from the file menu.
*/
private class NewListener extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
name = "";
employeeID = "";
rateOfPay = "";
hoursWorked = "";
JButton Apply = new JButton("Apply");
Apply.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
name = nameField.getText();
employeeID = IDField.getText();
rateOfPay = payRateField.getText();
hoursWorked = hoursField.getText();
setVisible(false);
}
});
setLayout(new GridLayout(4, 4));
add(nameField = new JTextField("Enter the Employee Name"));
add(IDField = new JTextField("Enter the Employee's ID Number"));
add(payRateField = new JTextField("Enter the Employee's Pay Rate"));
add(hoursField = new JTextField("Enter the Employee's Hours Worked"));
add(Apply);
pack();
setVisible(true);
}
}
Example of current running program
私はそれを作りましたそのため、textField
コンポーネントに保存されているデータはフィールドに保存されますが、正常に作成できませんでしたApplyボタンを使用して、メインプログラムウィンドウのJButton
に移動します。
ご協力いただければ幸いです。
あなたのプログラム表示のJFrameがNewListenerでJTextフィールド内のテキストについて知る必要がありますそうでなければ、することはできません新しく入力したテキストを抽出します。 –
プログラムディスプレイには、社員IDなどの名前がわかります。問題のボタンをつかんで、その名前の従業員IDに従ってボタンの属性を変更する必要があります。 –