[Java] Alphabet

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von darkman x, 23. April 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 23. April 2009
    Alphabet

    Also ich hab die Oberfläche fertig, und ich bekomme es einfach nicht, das auf den Button dieses eine Zeichen A,B,C .... geschrieben wird. Diese sind ja char. Mit string bekomme ich das hin aber nicht mit char... am ende soll es so aussehen, das wenn ich auf jeden einzelne button klicke, das er mir das eine Buchstaben nach der reihe schreiben soll.... könntet ihr mir helfen....

    Code:
    import java.awt.*;
    import java.awt.event.*;
    
    public class a extends Frame implements ActionListener{
     
     Button[][] feld = new Button[2][13];
     int[][] spielfeld = new int[2][13];
     
     //char anfang='a';
     //char ende='z';
     //String alpha="";
     char[] buchstabe={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
     //char[] ver=new char[2*13];
     //int nummer=0;
     
     public a(){
     
     super ("Alphabet");
     setSize(900,300);
     setLayout(null);
     
     //Panel flaeche = new Panel(new GridLayout(13,2));
    
     int reihen = 0;
     int spalten = 0;
     
     for(reihen=0;reihen<2;reihen++){
     for (spalten = 0; spalten <13; spalten++){
     feld[reihen][spalten] = new Button();
     feld[reihen][spalten].setBounds(40+((spalten)*60),60+((reihen)*60),60,60);
     add(feld[reihen][spalten]);
     feld[reihen][spalten].addActionListener(this);
    
     }
     }
     
     /*while (anfang<=ende) {
     
     AbisZ=AbisZ+anfang;
     anfang++;
     
     */
     
     //add(flaeche,BorderLayout.NORTH);
     
     addWindowListener(
     new WindowAdapter() {
     public void windowClosing(WindowEvent event){
     System.exit(0);
     }
     }
     );
     
     setVisible(true);
     
    } 
     
    /* 
    26 Buttons, auf jeden Button ein Buchstaben'A' 
    auf klick reagieren
    
    SOP Satz auf dem Bildschirm ausgeben...
    Es wurde... geklickt */ 
    
    public void actionPerformed(ActionEvent erg){
     
     //System.out.println(alpha);
    
    
     
    }
    public static void main(String[] args){
     new a();
     }
     }
     
  2. 23. April 2009
    AW: Alphabet

    Hi,
    hoffe ich hab das problem richtig verstanden... wenn du in deiner for-schleife folgende Zeile einfügst:
    Code:
    feld[reihen][spalten].setLabel(Character.toString(buchstabe[reihen * 13 + spalten]));
    
    und im action-listener bzw. im actionPerformed
    Code:
    System.out.println(((Button)erg.getSource()).getLabel());
    
    sollte es hinhaun... ich hoffe der code ist selbsterklärend )

    mfg
     
  3. 23. April 2009
    AW: Alphabet

    So ich musste jetzt dieses Programm, einwenig verfeinern. Also ich hab wieder eine Oberfläche wo ich die Buchstaben anklicken muss. Im Textarea werden Tiernamen auf zufall ausgesucht. Und ich sollte das jetzt so machen, das es so ähnlich ist wie Geigenraten. Also Ich hab z.B. drei Wörter (Aal, Katze und Maus). Wir nehmen mal Aal. Also müsste im TextArea(_ _ _) Unterstriche sein. Dies bekomme ich nicht hin... Das man dann ein buchstabe angibt und er mir im Textarea ausgibt.


    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;


    public class alphabet3 extends Frame implements ActionListener{
    final int zeilen=2, spalten=13;
    Button[][] buchstaben = new Button[zeilen][spalten];
    char aktuellerBuchstabe='A';
    int wortzaehler=0;
    BufferedReader din;
    String dateiname="Tiere.txt";
    String line;
    String ratewort;

    Button liste=new Button("Zufallswort ausgeben");
    Button beenden = new Button("Beenden");
    TextArea text= new TextArea();

    public alphabet3(){
    super("Alphabet");

    Panel flaecheButtons = new Panel(new GridLayout(zeilen, spalten));
    Panel flaeche1=new Panel(new GridLayout(0,2));

    for(int i = 0; i<zeilen;i++){
    for(int j=0;j<spalten;j++){
    buchstaben[j]=new Button(aktuellerBuchstabe+"");
    buchstaben[j].addActionListener(this);
    flaecheButtons.add(buchstaben[j]);
    aktuellerBuchstabe++;
    }
    }
    flaeche1.add(liste);
    liste.addActionListener(this);
    flaeche1.add(beenden);
    beenden.addActionListener(this);

    text.setEditable(false);

    add(flaecheButtons, BorderLayout.NORTH);
    add(flaeche1, BorderLayout.CENTER);
    add(text, BorderLayout.SOUTH);

    addWindowListener(
    new WindowAdapter() {
    public void windowClosing(WindowEvent event){
    setVisible(false);
    dispose();
    }
    }
    );
    try{
    din=new BufferedReader(new FileReader(dateiname));
    while ((line = din.readLine()) != null) {
    wortzaehler++;
    }
    din.close();
    } catch (IOException e) {
    System.out.println("Fehler beim Lesen der Datei");
    }

    pack();
    setVisible(true);
    }

    public void actionPerformed(ActionEvent erg){
    aktuellerBuchstabe='A';
    String aktuellerstand=text.getText();
    String ohneLehrzeichen="", aktuellerLehrzeichen="";
    int wortnummer=0;

    if(erg.getActionCommand().equals("Zufallswort ausgeben")){
    BufferedReader din;
    Random r=new Random();

    for(int i = 0; i<zeilen;i++){
    for(int j=0;j<spalten;j++){
    if(erg.getActionCommand().equals(aktuellerBuchstabe+"")){
    text.append(aktuellerBuchstabe+"");
    }
    aktuellerBuchstabe++;
    }
    }

    for(int k=0;k<ratewort.length();k++){
    if(erg.getActionCommand().equals(aktuellerBuchstabe+"")){
    if(aktuellerBuchstabe==ratewort.charAt(k)){
    aktuellerstand+=text.append(aktuellerBuchstabe+"");
    aktuellerstand+=Character.toLowerCase(aktuellerBuchstabe);
    aktuellerBuchstabe++;
    }
    }
    }

    wortnummer=1+Math.abs(r.nextInt())%wortzaehler;

    wortzaehler=1;


    try {
    din = new BufferedReader(new FileReader(dateiname));

    while ((line=din.readLine())!=null){
    if(wortzaehler==wortnummer){
    text.setText(line);
    }
    wortzaehler++;
    }
    din.close();
    } catch (IOException e) {
    System.out.println("Fehler beim Lesen der Datei");
    }
    }

    for(int k=0;k<ratewort.length();k++){
    String striche="";
    striche=striche+"_ ";
    text.append(striche);
    }

    if (erg.getActionCommand().equals("Beenden")){
    dispose();
    setVisible(false);
    System.exit(0);
    }
    }


    public static void main(String[] args){
    new alphabet3();
    }
    }
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.