JOs on tämmönen koodinpätkä:
JButton painike = new JButton("painike");
paneli.add(painike);
painike.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showInputDialog(null,"Syötä hakusana");
}
});
Niin miten voin lukea tekstin, jonka joku syöttää hakukenttään? Siis vaikka jos haluaisin jossain ohjelmassa kysyä salasanaa, ja jos se on väärin niin se poistuisi ohjelmasta ( "System.exit(0);" ), mutta jos se on oikein, niin se jatkaisi suorittamista.
JButton painike = new JButton("painike");
paneli.add(painike);
painike.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showInputDialog(null,"Syötä hakusana");
}
});
Niin miten voin lukea tekstin, jonka joku syöttää hakukenttään? Siis vaikka jos haluaisin jossain ohjelmassa kysyä salasanaa, ja jos se on väärin niin se poistuisi ohjelmasta ( "System.exit(0);" ), mutta jos se on oikein, niin se jatkaisi suorittamista.
Vastaukset 3
Vanhimmat
--- ESIMERKKI1 ALKAA ---
import javax.swing.JOptionPane;
public class EsimerkkiSwing {
private static String oikeaSalasana = "1234";
private static String salasana = null;
public static void main(String[] args) {
salasana = JOptionPane.showInputDialog(null, "Salasana:");
if (!oikeaSalasana.equals(salasana)) {
JOptionPane.showMessageDialog(null, "Syötit väärän salasanan");
} else {
JOptionPane.showMessageDialog(null, "Syötit oikean salasanan");
}
}
}
--- ESIMERKKI1 LOPPUU ---
Miten voin lukea sen tekstin mitä joku siihen kirjottaa. Esim. jos joku kirjottaa siihen "moi kaikki" niin ohjelma laittaa se tekstin JLabelin "sisälle", tai miten sen nyt sanois... (labeli.setText(TekstiMitaKirjoitettiin); )
Jos tarkoitat lukemista reaaliaikeisesti, eli tekstin lukemista sitä mukaan mitä käyttäjä syöttää, niin silloin pitää tehdä dialogi, yms. itse. (???). Alla on jonkinlainen esimerkki rävellys:
--- ESIMERKKI ALKAA ---
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class EsimerkkiSwing implements KeyListener {
public JTextField vastaus;
public JLabel näyttö;
public JDialog dialog;
private EsimerkkiSwing(String otsikko, String kysymys) {
dialog = new JOptionPane(
new Object[] {
kysymys,
vastaus = new JTextField(),
näyttö = new JLabel("Kirjoitus: ")
},
JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION
).createDialog(null, otsikko);
vastaus.addKeyListener(this);
}
public void keyTyped(KeyEvent e) {
näyttö.setText("Kirjoitus: " vastaus.getText());
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
public static void kysyJotain(String otsikko, String kysäri) {
new EsimerkkiSwing(otsikko, kysäri).dialog.setVisible(true);
}
public static void main(String[] args) {
kysyJotain("Kysymys ikkuna", "Syötä nimesi:");
}
}
--- ESIMERKKI LOPPUU ---