![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Neuer Benutzer
Registriert seit: 27.10.2005
Beiträge: 14
|
Hallo zusammen,
ich besuche eine Technikerschule in der wir auch Java erlernen sollen. Leider war ich die letzten 4 Wochen krank (mit Krankenhausaufenthalt usw....) und habe somit eine Menge Stoff verpasst. Das interessiert meinen Lehrer leider nicht im geringsten und deshalb darf ich bis morgen ein kleines Projekt mit grafischer Oberfläche abgeben. Die Struktur habe ich hinbekommen, nur leider nicht die Ereignisbearbeitung. Code:
// Programmname : Zahlensystemrechner
// Programm zur Umrechnung in verschiedene Zahlensysteme
//
// von
// Programmierzeit : 23.12.2005 - 24.01.2006
import java.awt.*; // benötigte Packages für grafische Oberflächen
import java.awt.event.*;
import javax.swing.*;
// Zahlensystemrechner Frame
public class ZahlenSystemRechner extends JFrame implements ActionListener { // Klassenname und Frame Oberfläche
// Listener für Button und Choice implementieren
// Anfang Variablen
private Label labName, labBedienung, labStartZahl; // Variablen für Labels
private Label labVon, labNach, labErgebnis; // Variablen für Labels
private JTextField tfStartZahl, tfEinheit, tfToleranz; // Variablen für Textfelder
private JButton btnBeenden, btnBerechnen; // Variablen für Buttons
// Ende Variablen
public ZahlenSystemRechner(final String title) { // Titel: ZahlenSystemRechner
// Frame-Initialisierung
super(title); // Titel platzieren
addWindowListener(new WindowAdapter() { // nötig, damit das Programm
public void windowClosing(WindowEvent evt) { System.exit(0); } }); // ordnungsgemäß beendet werden kann
int frameWidth = 500; // Breite des Frames
int frameHeight = 400; // Höhe des Frames
this.setSize(frameWidth, frameHeight); // Größe des Frames festlegen
this.setLayout(new BorderLayout()); // Borderlayout
// Anfang Komponenten
Panel panNorth = new Panel(); // neuen Bereich Norden erzeugen
panNorth.setLayout(new FlowLayout()); // Flowlayout für Bereich Nord setzen
labName = new Label("ZahlenSystemRechner"); // Label für die Überschrift
labName.setFont(new Font("Arial",1,24)); // Schriftart für die Überschrift
panNorth.add(labName); // Überschrift auf Bereich Nord setzen
this.add("North",panNorth);
Panel panCenter = new Panel(); // neuen Bereich Center erzeugen
panCenter.setLayout(new GridLayout(6,2)); // Gridlayout für Bereich Center setzen
labBedienung = new Label
("Bedienung: Zahl eingeben und Ausgangszahlen- und Zielzahlen-System auswählen!"); // neuen Label für die Überschrift
labBedienung.setFont(new Font("Arial",1,12)); // Schriftart für die Überschrift
panCenter.add(labBedienung); // Überschrift auf Bereich Center setzen
Panel panCenterZeile1 = new Panel(); // Zeile 1 erzeugen
panCenterZeile1.setLayout(new FlowLayout(FlowLayout.LEFT)); // Flowlayout linksbündig
labStartZahl = new Label("Zahl: "); // Label für Zahl beschriften
panCenterZeile1.add(labStartZahl); // Label Zahl auf Zeile 1 setzen
tfStartZahl = new JTextField("",30); // Textfeld für Zahl eingeben
tfStartZahl.setHorizontalAlignment(SwingConstants.RIGHT); // Textfeld rechtsbündig
tfStartZahl.setFont(new Font("Arial", 1, 15)); // Textfeld Schriftart
panCenterZeile1.add(tfStartZahl); // Textfeld auf Zeile 1 setzen
panCenter.add(panCenterZeile1); // Zeile 1 auf Bereich Center setzen
Panel panCenterZeile2 = new Panel(); // Zeile 2 erzeugen
panCenterZeile2.setLayout(new FlowLayout(FlowLayout.LEFT)); // Flowlayout linksbündig
labVon = new Label("Von: "); // Label Von beschriften
panCenterZeile2.add(labVon); // Label Von auf Zeile 2 setzen
ButtonGroup btngZahlenVon = new ButtonGroup();
JRadioButton rb1 = new JRadioButton( "Dezimal" );
rb1.setSelected( true );
panCenterZeile2.add(rb1);
JRadioButton rb2 = new JRadioButton( "Binär" );
panCenterZeile2.add(rb2);
JRadioButton rb3 = new JRadioButton( "Oktal" );
panCenterZeile2.add(rb3);
JRadioButton rb4 = new JRadioButton( "Hexadezimal" );
panCenterZeile2.add(rb4);
btngZahlenVon.add( rb1 );
btngZahlenVon.add( rb2 );
btngZahlenVon.add( rb3 );
btngZahlenVon.add( rb4 );
panCenter.add(panCenterZeile2); // Zeile 2 auf Bereich Center setzen
Panel panCenterZeile3 = new Panel(); // Zeile 3 erzeugen
panCenterZeile3.setLayout(new FlowLayout(FlowLayout.LEFT)); // Flowlayout linksbündig
labNach = new Label("Nach: "); // Label Nach beschriften
panCenterZeile3.add(labNach); // Label Nach auf Zeile 3 setzen
ButtonGroup btngZahlenNach = new ButtonGroup();
JRadioButton rb5 = new JRadioButton( "Dezimal" );
rb5.setSelected( true );
panCenterZeile3.add(rb5);
JRadioButton rb6 = new JRadioButton( "Binär" );
panCenterZeile3.add(rb6);
JRadioButton rb7 = new JRadioButton( "Oktal" );
panCenterZeile3.add(rb7);
JRadioButton rb8 = new JRadioButton( "Hexadezimal" );
panCenterZeile3.add(rb8);
btngZahlenNach.add( rb5 );
btngZahlenNach.add( rb6 );
btngZahlenNach.add( rb7 );
btngZahlenNach.add( rb8 );
panCenter.add(panCenterZeile3); // Zeile 3 auf Bereich Center setzen
Panel panCenterZeile4 = new Panel(); // Zeile 4 erzeugen
panCenterZeile4.setLayout(new FlowLayout(FlowLayout.LEFT)); // Flowlayout linksbündig
labErgebnis = new Label("Ergebnis: "); // Label Ergebnis beschriften
labErgebnis.setFont(new Font("Arial",1,18)); // Schriftart für die Überschrift
panCenterZeile4.add(labErgebnis); // Label Ergebnis auf Zeile 4 setzen
panCenter.add(panCenterZeile4);
this.add("Center",panCenter); // Bereich Center anzeigen
Panel panSouth = new Panel(); // neuen Bereich Süden erzeugen
panSouth.setLayout(new FlowLayout(FlowLayout.RIGHT)); // Flowlayout rechtsbündig
btnBerechnen = new JButton("Berechnen"); // Buttons Berechnen
btnBerechnen.setBackground(Color.GREEN); // Buttonfarbe grün
btnBerechnen.addActionListener(this); // Button Berechnen für Ereignisse reservieren
panSouth.add(btnBerechnen); // Button Berechnen
btnBeenden = new JButton("Beenden"); // Buttons Beenden
btnBeenden.setBackground(Color.RED); // Buttonfarbe rot
btnBeenden.addActionListener(this); // Button Beenden für Ereignisse reservieren
panSouth.add(btnBeenden); // Button Beenden auf Bereich Süden setzen
this.add("South",panSouth); // Bereich Süden anzeigen
// Ende Komponenten
setVisible(true);
}
// Anfang Ereignisprozeduren
public void actionPerformed(ActionEvent e){ // Methode für Button
if(e.getSource() == btnBeenden){ // Wenn Ende-Button
System.exit(0); // Programm Ende
}
}
// Ende Ereignisprozeduren
public static void main(String[] args) {
new ZahlenSystemRechner("ZahlenSystemRechner von Marco Litterst"); // Kopfzeile mit Überschrift versehen
}
}
Nun meine Frage, kann mir wer die Ereignisbearbeitung programmieren? Ich schaffe es leider momentan nicht und bin schon die ganze Zeit daran gewesen die Oberflächengeschichte zu erlernen?! Ihr würdet mir super behilflich sein! Danke im voraus. Greetz Marco |
|
|
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Kurz: Nein.
Wir sind kein Hausaufgaben-Mach-Dienst oder Ähnliches. Wir geben Dir gerne konkrete Hilfe inkl. Codebeispielen etc. .. aber wir schreiben nicht einfach so irgendwelche Programme, Skripte etc. Solltest Du es also nicht selbst versuchen und uns dann konkret nach Hilfe zu Problemen fragen, dann werde ich diesen Thread ins Gesuche-Forum verschieben, weil er dann genau dort hingehört. Zum Thema "Ereignismanagement in Java" schau Dich mal hier um: Du hast noch genügend Zeit. Viel Erfolg. Bei Fragen .. frag einfach. Grüße Ben. |
|
|
|
|
|
Nach oben #3 |
|
Erfahrener Benutzer
Registriert seit: 17.08.2005
Beiträge: 425
|
was soll er genau machen??? soll es ein einacher taschenrechner werden oder soll er irgendwas tolles können???
(zwar bin ich bens meinung, aber villeicht kann ich dir ja eine kleine tipp geben, wie es funktionieren würde...) |
|
|
|
|
|
Nach oben #4 |
|
Erfahrener Benutzer
Registriert seit: 17.08.2005
Beiträge: 425
|
oh, ok... habs mir angeschaut und weiß was das prog machen soll...
schau mal hier: Integer.toBinaryString( ); Integer.toHexString( ); Integer.toOctalString( ); ist zwar nur von Dezimal zu den anderen Zahlensystem.... |
|
|
|
|
|
Nach oben #5 |
|
Neuer Benutzer
Registriert seit: 27.10.2005
Beiträge: 14
|
Danke Xean,
das habe ich auch schon gefunden, jetzt habe ich noch eine Verständnisfrage: ich habe ja mein JTextField als Stringeingabe, denn das brauche ich ja wenn ich eine HexZahl eingebe, wie z.B. 7EA?! Gibt es dann auch so was wie String.toBinaryString();? Von einer Dezimalzahl ausgehend ist mir klar das ich den String per Integer.parseInt zu einem Integer mache, dann muss ich ja nur noch im ActionEvent schauen in welches Zahlensystem ich die eingegebene Zahl konvertieren will (mach ich wohl am besten per switch oder?) und dann ausgeben lassen. Korrigiert mich wenn ich falsch liege! Danke Marco |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Ich brauche Hilfe bei der Administration meines rootservers! | Firat | Plauderecke | 7 | 07.09.2007 07:40 |
| Brauche Hilfe auf dem Handy/Telefon-Tarif-Markt | Ben | Plauderecke | 5 | 20.11.2006 16:50 |
| excel hilfe -> blattname | robo47 | Gesuche | 3 | 12.06.2006 11:08 |
| Paket: DSL, ISDN, Wechsel zu T-Online - Hilfe benötigt | Ben | Plauderecke | 19 | 19.04.2006 10:29 |
| neuling braucht einsteiger hilfe | camparso | Allgemeine Java-Programmierung | 13 | 25.02.2005 05:25 |