po wybraniu przekątnej kwadratu w menu pojawiają się wszystkie potrzebne komponenty, lecz ich actionlistnery nie działają
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextField;
import static java.lang.Math.sqrt;
public class kalk extends JFrame implements ActionListener
{
private JMenuBar menu;
private JMenu mfigury, mpłaskie;
// figury płaskie
private JMenu mkwadrat, mprostokat, mromb, mokrag;
private JTextField tA, tB, tC, tpromien, tprzek1, tprzek2, tobwod, tprzekatna, twA, twpole, twobwod, twprzekatna;
//elementy kwadratu
private JLabel jAkw, jpkw, jokw, jpolekw, jpkw2, jokw2;
private JMenuItem ipKW, ioKW, ipoleKW, iAKW;
private JButton boblicz1, boblicz2, boblicz3;
private double A, Apole, Aprzek, Aobw, pole, przekatna, obwod, przekpole, obwpole;
public kalk()
{
setSize(700,800);
setTitle("Kalkulator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
//labele
jAkw= new JLabel("A:");
jAkw.setBounds(10, 50, 100, 20);
jpkw= new JLabel("Przekątna:");
jpkw.setBounds(10, 80, 100, 20);
jpkw2= new JLabel("Przekątna:");
jpkw2.setBounds(10, 50, 100, 20);
jokw= new JLabel("Obwód:");
jokw.setBounds(10, 110, 100, 20);
jokw2= new JLabel("Obwód:");
jokw2.setBounds(10, 80, 100, 20);
jpolekw= new JLabel("Pole:");
jpolekw.setBounds(10, 110, 100, 20);
//add(jpkw);
//add(jpkw2);
//add(jokw2);
// jtexty wejsciowe
tA = new JTextField("");
tA.setBounds(120, 50, 100, 20);
tprzekatna = new JTextField("");
tprzekatna.setBounds(120, 80, 100, 20);
tobwod = new JTextField("");
tobwod.setBounds(120, 110, 100, 20);
//jtexty wyjsciowe
twA = new JTextField("");
twA.setBounds(360, 50, 100, 20);
twprzekatna = new JTextField("");
twprzekatna.setBounds(360, 80, 100, 20);
twobwod = new JTextField("");
twobwod.setBounds(360, 110, 100, 20);
//guziki kwadratowe
boblicz1 = new JButton("Przelicz");
boblicz1.setBounds(240, 50, 100, 20);
boblicz1.addActionListener(this);
boblicz2 = new JButton("Pole");
boblicz2.setBounds(240, 80, 100, 20);
boblicz2.addActionListener(this);
boblicz3 = new JButton("Pole");
boblicz3.setBounds(240, 110, 100, 20);
boblicz3.addActionListener(this);
menu= new JMenuBar();
mfigury=new JMenu("Figury");
mpłaskie = new JMenu("Płaskie");
//kwadrat
mkwadrat=new JMenu("Kwadrat");
ipKW= new JMenuItem("Przekątna");
ioKW = new JMenuItem("Obwód");
ipoleKW= new JMenuItem("Pole");
iAKW=new JMenuItem("Bok A");
ipKW.addActionListener(this);
ioKW.addActionListener(this);
ipoleKW.addActionListener(this);
iAKW.addActionListener(this);
mkwadrat.add(ipKW);
mkwadrat.add(ioKW);
mkwadrat.add(ipoleKW);
mkwadrat.add(iAKW);
mprostokat= new JMenu("Prostokąt");
mromb=new JMenu("Romb");
mokrag=new JMenu("Okrąg");
mpłaskie.add(mkwadrat);
mpłaskie.add(mprostokat);
mpłaskie.add(mromb);
mpłaskie.add(mokrag);
mfigury.add(mpłaskie);
menu.add(mfigury);
setJMenuBar(menu);
}
public static void main(String[] args)
{
kalk okno = new kalk();
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
okno.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e)
{
Object z = e.getSource();
//działanie kwadratu
if (z==ipKW)
{
add(jAkw);
add(jpolekw);
add(jokw2);
add(tA);
add(tprzekatna);
add(tobwod);
add(boblicz1);
add(boblicz2);
add(boblicz3);
add(twA);
add(twprzekatna);
add(twobwod);
revalidate();
repaint();
if (z==boblicz1|| z==tA)
{
A = Double.parseDouble(tA.getText());
Aprzek=A*sqrt(2);
System.out.println(Aprzek+"kjhkjn");
twA.setText(String.valueOf(Aprzek));
}
else if (z==boblicz2)
{
}
else if (z==boblicz3)
{
System.out.println("siema");
}
}
else if(z==iAKW)
{
}
else if(z==ioKW)
{
add(jpolekw);
}
else if(z==ipoleKW)
{
add(boblicz1);
add(boblicz2);
add(boblicz3);
repaint();
if (z==boblicz1)
{
}
else if (z==boblicz2)
{
}
else if (z==boblicz3)
{
}
}
}
}