Hallo Java Community,
ich arbeite mich schon seit einiger Zeit in Java ein und manches ist mir noch nicht ganz klar.
Ich habe ein kleines Konsolenprogramm geschrieben in dem ein Rechteck erzeugt wird und ich auf Methoden zurückgreife um Umfang und Flächeninhalt zu berechnen (funktioniert auch).
Nun habe ich vor eine GUI zu entwickeln, und möchte auch hier die erstellten Methoden verwenden. Mir geht es nicht darum ob es Sinn macht oder nicht sondern ich verstehen möchte wie ich bei actionEvent eines Buttons und zweier Textfelder auf Methoden einer anderen Klassendatei zugreifen kann.
Ich hab drei Klassendateien:
Main-Klasse
Rechteck:
Components:
rec.setA(liste.getContents().addElement(eingabeA.getText())); funktioniert nicht da: The method setA(double) in the type Rechteck is not applicable for the
arguments (void).
Was muss ich tun um das möglich zu machen?
Mein System: Ubuntu 9.04, mit easyeclipse 1.2.2
Über jeden Tipp und Hilfe würde ich mich freuen.
ich arbeite mich schon seit einiger Zeit in Java ein und manches ist mir noch nicht ganz klar.
Ich habe ein kleines Konsolenprogramm geschrieben in dem ein Rechteck erzeugt wird und ich auf Methoden zurückgreife um Umfang und Flächeninhalt zu berechnen (funktioniert auch).
Nun habe ich vor eine GUI zu entwickeln, und möchte auch hier die erstellten Methoden verwenden. Mir geht es nicht darum ob es Sinn macht oder nicht sondern ich verstehen möchte wie ich bei actionEvent eines Buttons und zweier Textfelder auf Methoden einer anderen Klassendatei zugreifen kann.
Ich hab drei Klassendateien:
Main-Klasse
Java:
public class Programm
{
public static void main(String[] args)
{
Components fenster = new Components();
fenster.setSize(400,200);
fenster.setLocation(100,100);
fenster.setVisible(true);
}
}
Rechteck:
Java:
public class Rechteck
{
private double seiteA = 0;
private double seiteB = 0;
private double umfang = 0;
private double flaeche;
private static int anzahl = 0;
public Rechteck()
{
anzahl++;
}
public void setA(double a)
{
seiteA = a;
}
public void setB(double b)
{
seiteB = b;
}
public double getA()
{
return seiteA;
}
public double getB()
{
return seiteB;
}
public void berechneFlaeche()
{
flaeche = seiteA * seiteB;
}
public void berechneUmfang()
{
umfang = 2 * seiteA + 2 * seiteB;
}
public double getFlaeche()
{
return flaeche;
}
public double getUmfang()
{
return umfang;
}
public int getAnzahl()
{
return anzahl;
}
}
Components:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Components
extends JFrame
implements ActionListener
{
private JLabel info;
private JTextField eingabeA;
private JTextField eingabeB;
private JButton ok;
private List liste;
private JPanel ebene;
private JPanel komponenten;
private int nrElementsAdded;
private JScrollPane Scrollfeld;
public Components()
{
initComponents();
}
public void initComponents()
{
addWindowListener(new WindowClosingAdapter(true));
ebene = new JPanel();
setContentPane(ebene);
liste = new List();
Scrollfeld = new JScrollPane(liste);
ebene.setLayout(new BorderLayout());
ebene.add(Scrollfeld, BorderLayout.CENTER);
//Panel für die Komponenten, Label, Textfeld, Button Speichern und Löschen
komponenten = new JPanel();
komponenten.setLayout(new GridLayout(4,1));
info = new JLabel("Bitte Seite a und Seite b eingeben und Bestätigen");
komponenten.add(info);
eingabeA = new JTextField(5);
eingabeA.addActionListener(this);
komponenten.add(eingabeA);
eingabeB = new JTextField(5);
eingabeB.addActionListener(this);
komponenten.add(eingabeB);
ok = new JButton("Bestätigen");
ok.addActionListener(this);
komponenten.add(ok);
ebene.add(komponenten, BorderLayout.NORTH);
pack();
//liste.getContents().addElement("Starten");
for (; nrElementsAdded < 2; nrElementsAdded++) {
liste.getContents().addElement("test " + nrElementsAdded);
}
}
public void actionPerformed(ActionEvent event)
{
//Rechteck rec = new Rechteck();
//Action für den Button
if(event.getSource() == ok)
{
liste.getContents().addElement(eingabeA.getText());
liste.getContents().addElement(eingabeB.getText());
//rec.setA(liste.getContents().addElement(eingabeA.getText()));
}
}
}
class List extends JList {
List() {
super(new DefaultListModel());
}
DefaultListModel getContents() {
return (DefaultListModel) getModel();
}
}
rec.setA(liste.getContents().addElement(eingabeA.getText())); funktioniert nicht da: The method setA(double) in the type Rechteck is not applicable for the
arguments (void).
Was muss ich tun um das möglich zu machen?
Mein System: Ubuntu 9.04, mit easyeclipse 1.2.2
Über jeden Tipp und Hilfe würde ich mich freuen.