package LautsprecherNeu;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.applet.*;
public class Lautsprecher extends javax.swing.JApplet implements ActionListener,ChangeListener
{
private JSlider sliderWertR;
private JPanel pnlGrafik;
private JLabel lblWertR;
private JPanel pnlBedienfeld;
private JLabel lblUeberschrift;
private JLabel lblBild;
private grafikAmplitude gAmplitude = new grafikAmplitude();
private grafikPhasengang gPhase = new grafikPhasengang();
private JLabel lblFg;
private JLabel lblPicFormel;
private JLabel lblGrafisch;
private JButton btnPhase;
private JButton btnAmp;
private JSlider sliderWertC;
private JLabel lblWertC;
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
Lautsprecher inst = new Lautsprecher();
frame.getContentPane().add(inst);
((JComponent)frame.getContentPane()).setPreferredSize(inst.getSize());
frame.pack();
frame.setVisible(true);
}
});
}
public Lautsprecher() {
super();
initGUI();
}
private void initGUI() {
try {
getContentPane().setLayout(null);
{
pnlBedienfeld = new JPanel();
getContentPane().add(pnlBedienfeld);
pnlBedienfeld.setBounds(10, 10, 1000, 182);
pnlBedienfeld.setLayout(null);
{
lblBild = new JLabel();
pnlBedienfeld.add(lblBild);
lblBild.setIcon(new ImageIcon(getClass().getClassLoader().getResource("LautsprecherNeu/Lautsprecher1.gif")));
lblBild.setBounds(20, 35, 130, 45);
}
{
sliderWertR = new JSlider();
pnlBedienfeld.add(sliderWertR);
sliderWertR.setBounds(170, 10, 200, 45);
sliderWertR.setPaintTicks(true);
sliderWertR.setPaintLabels(true);
sliderWertR.setMajorTickSpacing(10);
sliderWertR.setMinorTickSpacing(5);
sliderWertR.setValue(10);
sliderWertR.setMaximum(100);
sliderWertR.setMinimum(10);
sliderWertR.addChangeListener(this);
}
{
lblWertR = new JLabel();
pnlBedienfeld.add(lblWertR);
lblWertR.setBounds(170, 65, 200, 25);
lblWertR.setText("Widerstand: "+sliderWertR.getValue()+" kOhm");
}
{
lblUeberschrift = new JLabel();
pnlBedienfeld.add(lblUeberschrift);
lblUeberschrift.setText("RC-Tiefpass");
lblUeberschrift.setBounds(20, 10, 100, 20);
}
{
sliderWertC = new JSlider();
pnlBedienfeld.add(sliderWertC);
sliderWertC.setBounds(410, 10, 200, 45);
sliderWertC.setPaintTicks(true);
sliderWertC.setPaintLabels(true);
sliderWertC.setMajorTickSpacing(10);
sliderWertC.setMinorTickSpacing(5);
sliderWertC.setValue(10);
sliderWertC.setMaximum(100);
sliderWertC.setMinimum(10);
sliderWertC.addChangeListener(this);
}
{
lblWertC = new JLabel();
pnlBedienfeld.add(lblWertC);
lblWertC.setText("Kondensator: "+sliderWertC.getValue()+" nF");
lblWertC.setBounds(410, 65, 200, 25);
}
{
btnAmp = new JButton();
pnlBedienfeld.add(btnAmp);
btnAmp.setText("Amplitudengang");
btnAmp.setBounds(640, 40, 150, 25);
btnAmp.addActionListener(this);
}
{
btnPhase = new JButton();
pnlBedienfeld.add(btnPhase);
btnPhase.setText("Phasengang");
btnPhase.setBounds(640, 70, 150, 25);
btnPhase.addActionListener(this);
}
{
lblGrafisch = new JLabel();
pnlBedienfeld.add(lblGrafisch);
lblGrafisch.setText("Grafische Darstellung von:");
lblGrafisch.setBounds(640, 10, 150, 20);
}
{
lblPicFormel = new JLabel();
pnlBedienfeld.add(lblPicFormel);
lblPicFormel.setBounds(810, 10, 190, 80);
}
{
lblFg = new JLabel();
pnlBedienfeld.add(lblFg);
lblFg.setBounds(640, 110, 150, 25);
}
}
{
pnlGrafik = new JPanel();
getContentPane().add(pnlGrafik);
pnlGrafik.setBorder(BorderFactory.createLineBorder(Color.black, 1));
pnlGrafik.setBounds(10, 160, 1000, 600);
pnlGrafik.setBackground(Color.white);
pnlGrafik.setVisible(true);
}
} catch (Exception e)
{
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()== btnAmp)
{
double wertR=(double)sliderWertR.getValue()*1000;
double wertC=(double)sliderWertC.getValue()/1000000000;
double fg=gAmplitude.berechAmp(wertR,wertC);
lblFg.setText("Grenzfrequenz: "+Math.round(fg));
pnlGrafik.remove(gPhase);
gAmplitude.repaint();
pnlGrafik.add(gAmplitude);
lblPicFormel.setIcon(new ImageIcon(getClass().getClassLoader().getResource("LautsprecherNeu/picFormelDB.gif")));
}
if (e.getSource()== btnPhase)
{
double wertR=(double)sliderWertR.getValue()*1000;
double wertC=(double)sliderWertC.getValue()/1000000000;
double fg=gPhase.berechAmp(wertR,wertC);
lblFg.setText("Grenzfrequenz: "+Math.round(fg));
pnlGrafik.remove(gAmplitude);
gPhase.repaint();
pnlGrafik.add(gPhase);
lblPicFormel.setIcon(new ImageIcon(getClass().getClassLoader().getResource("LautsprecherNeu/picFormelPhase.gif")));
}
}
public void stateChanged(ChangeEvent ce)
{
if (!sliderWertC.getValueIsAdjusting())
{
lblWertC.setText("Kondensator: "+sliderWertC.getValue()+" nF");
}
if (!sliderWertR.getValueIsAdjusting())
{
lblWertR.setText("Widerstand: "+sliderWertR.getValue()+" kOhm");
}
}
}