Hey Leute,
wenn ich die folgenden Zeilen kompiliere, dann werden mir keine Fehler mehr angezeigt. Aber die verschiedenen paints, die ich ausführen möchte, werden auch nicht ausgeführt. Ich habe es bereits mit einem ItemListener, der implementierten ActionListener Klasse und der inner Type klasse versucht, bei der ich auch eigtl. bleiben möchte. Jedoch lässt sich durch Aktivieren der Radio Buttons nichts zeichnen. Es wird zwar eine Anfangszeichnung vorgenommen, aber wenn die verschiedenen Buttons ausgewählt werden, dann passiert nichts weiter.
Kann mir zufällig jemand sagen, wo der Fehler liegt? Ich habe schon einige Varianten versucht und komme nicht weiter... :-(
Hier der Code:
wenn ich die folgenden Zeilen kompiliere, dann werden mir keine Fehler mehr angezeigt. Aber die verschiedenen paints, die ich ausführen möchte, werden auch nicht ausgeführt. Ich habe es bereits mit einem ItemListener, der implementierten ActionListener Klasse und der inner Type klasse versucht, bei der ich auch eigtl. bleiben möchte. Jedoch lässt sich durch Aktivieren der Radio Buttons nichts zeichnen. Es wird zwar eine Anfangszeichnung vorgenommen, aber wenn die verschiedenen Buttons ausgewählt werden, dann passiert nichts weiter.
Kann mir zufällig jemand sagen, wo der Fehler liegt? Ich habe schon einige Varianten versucht und komme nicht weiter... :-(
Hier der Code:
Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
public class Funktionsgraph extends JFrame{
private static final long serialVersionUID = 1L;
JRadioButton funktion1=new JRadioButton("Funktion 1"),funktion2=new JRadioButton("Funktion 2"),funktion3=new JRadioButton("Funktion 3");
JPanel anhangKnoepfe=new JPanel(),bg=new JPanel();
Container c;
Zeichnen zz=new Zeichnen();
Graphics g;
ButtonGroup gb;
public Funktionsgraph() {
c=getContentPane();
c.setLayout(new BorderLayout());
setLocationRelativeTo(null);
setSize(600, 400);
c.add(zz,BorderLayout.CENTER);
c.add(anhangKnoepfe,BorderLayout.SOUTH);
anhangKnoepfe.setLayout(new GridLayout(1, 3));
bg.add(funktion1);
bg.add(funktion2);
bg.add(funktion3);
anhangKnoepfe.add(funktion1);
funktion1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// zz.setAuswahl(0);
zz.setAuswahl(isEnabled());
funktion2.setSelected(false);
funktion3.setSelected(false);
repaint();
}
});
anhangKnoepfe.add(funktion2);
funktion2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
zz.setAuswahl(isEnabled());
funktion1.setSelected(false);
funktion3.setSelected(false);
repaint();
}
});
anhangKnoepfe.add(funktion3);
funktion3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
zz.setAuswahl(isEnabled());
funktion1.setSelected(false);
funktion2.setSelected(false);
repaint();
}
});
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Funktionsgraph();
}
}
[/Java]
und hier:
[code=Java]
import java.awt.Graphics;
import javax.swing.JPanel;
public class Zeichnen extends JPanel
{
private static final long serialVersionUID = 1L;
boolean auswahl;
int auswahl1;
public Zeichnen() {
auswahl=auswahl;
}
public void setAuswahl(boolean b)
{
this.auswahl=b;
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawLine(getWidth()-getWidth(), getHeight()/2, getWidth(), getHeight()/2);
g.drawLine(getWidth()/2, getHeight()-getHeight(), getWidth()/2, getHeight());
int auswahl = 2;
switch(auswahl)
{
case 0:
int x=5,y=2*x,x2=-5,y2=-2*x;
g.drawLine(x, y, x2, y2);
break;
case 1:
int xNeu=5*5,yNeu=2*xNeu,xNeu2=-5*-5,yNeu2=-2*yNeu;
g.drawLine(xNeu, yNeu, xNeu2, yNeu2);
break;
case 2:
int xNeuNeu=(5*5)*2,yNeuNeu=2*xNeuNeu,xNeuNeu2=-5,yNeuNeu2=-2*xNeuNeu;
g.drawLine(xNeuNeu, yNeuNeu, xNeuNeu2, yNeuNeu2);
break;
}
}
}
[/Java]
Hat hier jemand eine Idee? :-)
Lg