Ich versuche, JButtons mithilfe eines JMenuItem zu erstellen. Ich habe ein neues Mitarbeiter-JMenuItem, das nach dem Anklicken einen Rahmen mit vier JTextFields öffnet: Mitarbeitername, Mitarbeiter-ID-Nummer, Mitarbeiter-Pay-Rate und Mitarbeiterstunden, und ein JButton, Übernehmen. Nachdem der Benutzer die Daten in die JTextFields eingegeben und die Apply JButton-Taste gedrückt hat, soll das Hauptfenster ein JButton mit den eingegebenen Daten hinzufügen. HierSo erstellen Sie JButtons mithilfe von JMenuItem und ActionListener
ist der Code für das Programm Anzeige
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);
}
Und hier ist der Code für den neuen Mitarbeiter JMenuItem
mit dem ActionListener
:
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
ich es gemacht habe so dass die in den textField
Komponenten gespeicherten Daten in Felder gespeichert werden, aber ich konnte nicht erfolgreich erstellen e a JButton
im Hauptprogrammfenster mit der Schaltfläche Übernehmen.
Jede Hilfe und Unterstützung ist willkommen!
Ihr Programm Anzeige JFrame wird über den Text innerhalb der JText Felder in den NewListener wissen sonst wird es nicht möglich sein, extrahiere den neu eingegebenen Text. –
Sobald das Programm Display weiß, welcher Name, MitarbeiterID ect. sind, müssen Sie den fraglichen Knopf ergreifen und dann die Attribute der Taste entsprechend dem Namen, employeeID ect ändern. –