Hey Leute,
Ich mache gerade ein Praktikum und soll Java programmieren lernen.
Ich habe mir mit meinem Tutor nun schon einige Sachen angeeignet und bis jetzt immer eine Loesung fuer Probleme gefunden. Doch diesesmal werde ich nicht fuendig und ich habe mich dazu entschlossen selbst auch einmal zu posten
Also ich benutze Eclipse als Programmieroberflaeche und habe ein Programm entwickelt welches mir den am naechsten an der eingegebenen Zahl liegenden Fakultaetswert ausgibt.
Fragt nicht nach dem Sinn es ist eine Reine uebung
Soweit ist alles gut gelaufen und es funktioniert auch alles.
Nun soll aber nicht nur ein wert ausgegeben werden, sondern alle werte die bis zum letzten vorkommen.
Als ersten Schritt soll ich das Programm so umschreiben/umbauen dass in dem JTextField mehrere Zeilen angezeigt werden koennen.
Ich habe das schon mit JTextArea probiert und ich habe versucht eine Scrollbar einzubauen...hat aber nicht funktioniert :noe:
Ich hoffe mir kann jemand helfen
glg N.D.
gibt es eigl. nicht die moeglichkeit das JTextField dynamisch zu gestalten?
Ich mache gerade ein Praktikum und soll Java programmieren lernen.
Ich habe mir mit meinem Tutor nun schon einige Sachen angeeignet und bis jetzt immer eine Loesung fuer Probleme gefunden. Doch diesesmal werde ich nicht fuendig und ich habe mich dazu entschlossen selbst auch einmal zu posten
Also ich benutze Eclipse als Programmieroberflaeche und habe ein Programm entwickelt welches mir den am naechsten an der eingegebenen Zahl liegenden Fakultaetswert ausgibt.
Fragt nicht nach dem Sinn es ist eine Reine uebung
Soweit ist alles gut gelaufen und es funktioniert auch alles.
Nun soll aber nicht nur ein wert ausgegeben werden, sondern alle werte die bis zum letzten vorkommen.
Als ersten Schritt soll ich das Programm so umschreiben/umbauen dass in dem JTextField mehrere Zeilen angezeigt werden koennen.
Ich habe das schon mit JTextArea probiert und ich habe versucht eine Scrollbar einzubauen...hat aber nicht funktioniert :noe:
Ich hoffe mir kann jemand helfen
glg N.D.
Java:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
//import com.apple.eawt.Application;
public class AppWindow extends JFrame
{
JTextField textfield_schwellenwert;
JTextField areafield_fakultaet;
JButton button;
public AppWindow()
{
this.getContentPane().setLayout(null);
this.initWindow();
this.addWindowListener(new WindowListener()
{
public void windowClosed(WindowEvent arg0)
{
}
public void windowActivated(WindowEvent e)
{
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowDeactivated(WindowEvent e)
{
}
public void windowDeiconified(WindowEvent e)
{
}
public void windowIconified(WindowEvent e)
{
}
public void windowOpened(WindowEvent e)
{
}
});
}
protected void initWindow()
{
// Instanzieren:
textfield_schwellenwert = new JTextField("hier Wert eingeben");
areafield_fakultaet = new JTextField("Ergebnis");
button = new JButton("errechne Maxfakultaet");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
// TODO Auto-generated method stub
buttonBerechneClicked();
}
});
// Positionen festlegen
textfield_schwellenwert.setBounds(5,30,375,25);
areafield_fakultaet.setBounds(5,80,375,25);
button.setBounds(200,110,175,30);
button.setBackground(Color.LIGHT_GRAY);
// Elemente dem Fenster hinzufügen:
this.getContentPane().add(textfield_schwellenwert);
this.getContentPane().add(areafield_fakultaet);
this.getContentPane().add(button);
this.pack();
}
public void buttonBerechneClicked()
{
// Hole Zahl aus Textfeld:
int schwellenwert = 0;
try {
schwellenwert = Integer.parseInt(textfield_schwellenwert.getText());
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
schwellenwert = -1;
}
// Falls das n Okay ist:
if (schwellenwert>=0) {
// Rechne:
areafield_fakultaet.setText(Long.toString(maxFakultaet(schwellenwert)));
} else {
areafield_fakultaet.setText("Eingabe ist nicht in Ordnung.");
}
}
//methods
public static long maxFakultaet (int arg)
{
// Definition
int wert = 0;
int wertalt = 0;
long Schwellwert = arg;
long zw = 0;
//calculation
while( zw <= Schwellwert)
{
wertalt = wert;
wert++;
zw = myFakultaet(wert);
}
return wertalt;
}
public static long myFakultaet (int arg)
{
//Definition
int n = arg;
int Ende = 1;
long zw = 0;
//calculation
zw = n;
for (int f=n ; f>=Ende ; f--)
{
zw=zw*f;
}
return zw;
}
}