Knapper i ShowOptionPane laves i string format, men kan ikke tilføje en actionlistener
HejJeg har et problem i et projekt.
Jeg skal bruge en dialog box, som skal komme frem ved tryk på en knap. Inde i denne dialog box skal der være nogle forskellige tekstfelter, samt nogle knapper i bunden.
Har 2 del spørgsmål.
1. Hvordan laves tekstfelterne sådan at der står en "vejledende" tekst inden man skriver i dem, men så snart man markerer dem slettes den automatisk og det man skriver kommer frem?
2. Benytter ShowOptionPane og en opskrift fundet på oracles java api, og benytter et array af typen object til at holde de forskellige textfelter osv. Og knapperne nederst er et array af typen strings. Hvordan tilføjer jeg så en actionhandler til denne knap, når den faktisk er en string?
Her er den del af koden problemet omhandler.
Bemærk venligst at jeg har lavet en kommentar i koden hvor problemet opstår.
private class BtnIndtastNyeVrdierActionListener implements ActionListener
{
private ButtonGroup buttonGroup;
public void actionPerformed(ActionEvent arg0)
{
Object[] message = new Object[9];
message[0] = "Indtast de nye målinger:";
message[1] = new JTextField("Vindhastighed");
message[2] = new JLabel("Vindretning:");
message[3] = new JRadioButton("Nord",true);
message[4] = new JRadioButton("Øst");
message[5] = new JRadioButton("Syd");
message[6] = new JRadioButton("Vest");
message[7] = new JTextField("Regnmængde");
message[8] = new JTextField("Temperatur");
buttonGroup = new ButtonGroup();
buttonGroup.add((AbstractButton) message[3]);
buttonGroup.add((AbstractButton) message[4]);
buttonGroup.add((AbstractButton) message[5]);
buttonGroup.add((AbstractButton) message[6]);
// Knapperne
String[] options = {"Registrer", "Afbryd", "Hjælp"};
// HER er det. BURDE vel egentlig kunne tilgå en knap og tilføje en actionEventHandler ved
// at skrive options[0].addosv. men det virker bare ikke.
JOptionPane.showOptionDialog(frmVejrcentral, message, "Indtast værdier manuelt", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[2]);
}
}
private class registrerActionListener implements ActionListener
{
public void actionPerformed(ActionEvent arg0)
{
}
}