Hogy adjak vissza téri értéket ActionListenerből?
Bekérek egy fn meg a jsz és le ellenőrzőm. viszont az a cél h ha passzol új ablak dobjon fel. Ehhez akarok egy vissza térési értéket h az al program becsukódása utána a main értesüljön és utána nyisson újat.
package eredmenynyilvantarto;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.GraphicsEnvironment;
import java.awt.Point;
import javax.swing.JTextField;
class nyitoablak extends JFrame
{
JLabel felnevfelir;
JLabel jelszofelir;
JTextField felhasznalonev;
JTextField jelszo;
JButton kilepesgomb;
JButton okgomb;
nyitoablak()
{
felnevfelir = new JLabel("Felhasznalo nev:");
add(felnevfelir);
felnevfelir.setBounds(400,180,200,25);
jelszofelir = new JLabel("Jelszo:");
add(jelszofelir);
jelszofelir.setBounds(400,230,200,25);
felhasznalonev = new JTextField();
felhasznalonev.setColumns(10);
felhasznalonev.setBounds(400,200,200,25);
add(felhasznalonev);
jelszo = new JTextField();
jelszo.setColumns(10);
jelszo.setBounds(400,250,200,25);
add(jelszo);
kilepesgomb = new JButton("Kilepes");
kilepesgomb.setBounds(850,700, 100, 30);
add(kilepesgomb);
okgomb = new JButton("Ok");
okgomb.setBounds(400,280,100,30);
add(okgomb);
kilepesgomb.addActionListener(new KilepesGomb_Click());
okgomb.addActionListener(new OkGomb_Click());
setLayout(null);
setSize(1000,800);
setCenter(this);
setVisible(true);
}
void setCenter(JFrame ablak)
{ Point center = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint();
int x =(int) center.getX() - (ablak.getWidth()/2);
int y =(int) center.getY() - (ablak.getHeight()/2);
Point ablakCenter = new Point(x, y);
ablak.setLocation(ablakCenter);
}
class KilepesGomb_Click implements ActionListener
{ public void actionPerformed(ActionEvent e)
{
}
}
class OkGomb_Click implements ActionListener
{ public void actionPerformed(ActionEvent e)
{
String StrFelNev = felhasznalonev.getText();
String StrJelszo = jelszo.getText();
if (StrFelNev.equals("ok"))
if (StrJelszo.equals("ok"))
{
System.exit(0);
}
}
}
}
visszatérési értéket*
A main így néz ki.
package eredmenynyilvantarto;
public class EredmenyNyilvantarto {
public static void main(String[] args) {
new nyitoablak();
}
}
Például az ablak kilépéskor hívja meg az EredmenyNyilvantartó egy publikus statikus metódusát. Ez a legegyszerűbb (de nem a legszebb) megoldás.
Ennél egy fokkal talán szebb, ha az EredményNyilvántartót példányosítod, és átadod az ablaknak, és az ablak kilépéskor meghívja a metódusát (nem statikus).
Egyébként érdemes lenne betartani a Java névkonvencióit (osztályok neveit nagybetűvel kezdjük), illetve a logikai operátorok megismerése hasznodra válna.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!