# JList mit Mausklick auf einen JButton scrollen



## Negr0 (30. Mrz 2005)

Hi,

wie kann ich es bewergstelligen das eine JList mit einem Mausklick auf einen JButton um eins nach unten bzw. oben Scrollt? setSelectedIndex Scrollt ja leider nicht auf das angewaehlte Listen Ellement.


----------



## Guest (30. Mrz 2005)

Versuche das hier
	
	
	
	





```
JScrollBar sb = scrollPane.getVerticalScrollBar();
sb.setValue(sb.getValue() + sb.getUnitIncrement(1)); // die 1 bedeutet "nach unten", nicht 1 Einheit
```


----------



## Negr0 (30. Mrz 2005)

Bekomme das irgend wie nicht hin, das hier ist mein Source (ich weiss den ganzen Source zu posten ist in der Regel nicht sonderlich sinnvoll, deswegen sind weiter unten noch mal nur die relevanten Teile, aber vielleicht uebersehe ich auch nur staendig etwas was ich fuer nicht relevant halte...):


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.File;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
import javax.swing.JScrollPane;

public class Fenster extends Frame
{
  //Objekte erzeugen
  //Main
  //Labels
  JLabel lblHeader = new JLabel();
  JLabel lblSubHeader1 = new JLabel();
  JLabel lblSubHeader2 = new JLabel();
  //Liste
  //Alle Dateien in Ordner anzeigen
  File langDir = new File("Klassen");
  String[] languageFiles = langDir.list();
  JList lstKLasse = new JList(langDir.list());
  JList lstSchueler = new JList();
  //Buttons
  JButton bndNewKlasse = new JButton();
  JButton bndDelKlasse = new JButton();
  JButton bndNC = new JButton();
  JButton bndSelectKl = new JButton();
  JButton bndDelSchueler = new JButton();
  JButton bndEditSchueler = new JButton();
  JButton bndNote = new JButton();
  JButton bndSelectSch = new JButton();
  JButton bndRefresh = new JButton();
  JButton bndExit = new JButton();

  //Add Schueler
  //Panel
  JPanel pnlAddSch = new JPanel();
  //Labels
  JLabel lblSubHeader3 = new JLabel();
  JLabel lblAddVorname = new JLabel();
  JLabel lblAddNachname = new JLabel();
  JLabel lblAddPkt = new JLabel();
  //TextFields
  TextField txtAddVorname = new TextField();
  TextField txtAddNachname = new TextField();
  TextField txtAddPkt = new TextField();
  //Buttons
  JButton bndAddAdd = new JButton();

  //Edit Schueler
  //Panel
  JPanel pnlEditSch = new JPanel();
  TitledBorder titledBorder1;
  //Labels
  JLabel lblSubHeader4 = new JLabel();
  JLabel lblEditVorname = new JLabel();
  JLabel lblEditNachname = new JLabel();
  JLabel lblEditPkt = new JLabel();
  //TextFields
  TextField txtEditVorname = new TextField();
  TextField txtEditNachname = new TextField();
  TextField txtEditPkt = new TextField();
  //Buttons
  JButton bndEditUpt = new JButton();
  JButton bndRefresh2 = new JButton();
  JButton lblRunter = new JButton();
  JButton lblHoch = new JButton();

  public Fenster()
  {
    super("FOSp12d");

    this.setSize(450,500);
    this.setLayout(null);
    this.show();

    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      //e.printStackTrace();
    }
  }

  private void jbInit() throws Exception
{
    titledBorder1 = new TitledBorder("");
    lblHeader.setFont(new java.awt.Font("Dialog", 0, 25));
    lblHeader.setText("NC Calc");
    lblHeader.setBounds(new Rectangle(176, 20, 105, 44));
    this.setFocusable(false);
    this.setResizable(false);
    lstKLasse.setBackground(SystemColor.desktop);
    lstKLasse.setAutoscrolls(true);
    lstKLasse.setDebugGraphicsOptions(0);
    lstKLasse.setRequestFocusEnabled(true);
    lstKLasse.setToolTipText("");
    lstKLasse.setPrototypeCellValue(null);
    lstKLasse.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lstKLasse.setBounds(new Rectangle(11, 93, 110, 140));
    lblSubHeader1.setText("Waehlen Sie eine Klasse...");
    lblSubHeader1.setBounds(new Rectangle(13, 67, 195, 29));
    lstSchueler.setBackground(SystemColor.desktop);
    lstSchueler.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lstSchueler.setBounds(new Rectangle(215, 93, 125, 141));
    lblSubHeader2.setText("Waehlen Sie einen Schueler...");
    lblSubHeader2.setBounds(new Rectangle(214, 70, 186, 23));
    bndSelectSch.setText("Select");
    bndSelectSch.addMouseListener(new Fenster_bndSelectSch_mouseAdapter(this));
    bndSelectSch.setBounds(new Rectangle(214, 239, 127, 37));
    bndDelSchueler.setBounds(new Rectangle(345, 95, 90, 32));
    bndDelSchueler.setText("Delete");
    bndDelSchueler.addMouseListener(new Fenster_bndDelSchueler_mouseAdapter(this));
    bndEditSchueler.setText("Edit");
    bndEditSchueler.addMouseListener(new Fenster_bndEditSchueler_mouseAdapter(this));
    bndEditSchueler.setBounds(new Rectangle(345, 129, 90, 32));
    bndDelKlasse.setText("Delete");
    bndDelKlasse.addMouseListener(new Fenster_bndDelKlasse_mouseAdapter(this));
    bndDelKlasse.setBounds(new Rectangle(124, 128, 90, 32));
    pnlAddSch.setBorder(titledBorder1);
    pnlAddSch.setDebugGraphicsOptions(DebugGraphics.LOG_OPTION);
    pnlAddSch.setRequestFocusEnabled(false);
    pnlAddSch.setToolTipText("");
    pnlAddSch.setVerifyInputWhenFocusTarget(true);
    pnlAddSch.setActionMap(null);
    pnlAddSch.setLayout(null);
    pnlAddSch.setBounds(new Rectangle(4, 302, 215, 172));
    lblSubHeader3.setFont(new java.awt.Font("Dialog", 1, 15));
    lblSubHeader3.setForeground(Color.black);
    lblSubHeader3.setText("Add Schueler");
    lblSubHeader3.setBounds(new Rectangle(58, 1, 103, 36));
    lblAddVorname.setText("Vorname:");
    lblAddVorname.setBounds(new Rectangle(6, 31, 61, 33));
    lblAddNachname.setBounds(new Rectangle(6, 59, 71, 33));
    lblAddNachname.setText("Nachname:");
    lblAddPkt.setText("Punkte:");
    lblAddPkt.setBounds(new Rectangle(6, 86, 71, 33));
    txtAddVorname.setText("");
    txtAddVorname.setBounds(new Rectangle(79, 37, 106, 23));
    txtAddNachname.setText("");
    txtAddNachname.setBounds(new Rectangle(79, 64, 106, 23));
    txtAddPkt.setText("");
    txtAddPkt.setBounds(new Rectangle(79, 92, 107, 23));
    lblSubHeader4.setBounds(new Rectangle(58, 1, 103, 36));
    lblSubHeader4.setText("Edit Schueler");
    lblSubHeader4.setForeground(Color.black);
    lblSubHeader4.setFont(new java.awt.Font("Dialog", 1, 15));
    txtEditNachname.setText("");
    txtEditNachname.setBounds(new Rectangle(79, 64, 106, 23));
    pnlEditSch.setBounds(new Rectangle(224, 302, 215, 172));
    pnlEditSch.setLayout(null);
    pnlEditSch.setActionMap(null);
    pnlEditSch.setVerifyInputWhenFocusTarget(true);
    pnlEditSch.setToolTipText("");
    pnlEditSch.setRequestFocusEnabled(false);
    pnlEditSch.setDebugGraphicsOptions(DebugGraphics.LOG_OPTION);
    pnlEditSch.setBorder(titledBorder1);
    txtEditPkt.setBounds(new Rectangle(79, 92, 107, 23));
    lblEditNachname.setBounds(new Rectangle(6, 59, 71, 33));
    lblEditNachname.setText("Nachname:");
    lblEditPkt.setText("Punkte:");
    lblEditPkt.setBounds(new Rectangle(6, 86, 71, 33));
    txtEditVorname.setText("");
    txtEditVorname.setBounds(new Rectangle(79, 37, 106, 23));
    lblEditVorname.setText("Vorname:");
    lblEditVorname.setBounds(new Rectangle(6, 31, 61, 33));
    bndAddAdd.setBounds(new Rectangle(50, 126, 102, 31));
    bndAddAdd.setActionCommand("");
    bndAddAdd.setText("Add");
    bndAddAdd.addMouseListener(new Fenster_bndAddAdd_mouseAdapter(this));
    bndEditUpt.setText("Update");
    bndEditUpt.addMouseListener(new Fenster_bndEditUpt_mouseAdapter(this));
    bndEditUpt.setBounds(new Rectangle(48, 125, 102, 31));
    bndEditUpt.setActionCommand("");
    bndNote.setBounds(new Rectangle(344, 197, 91, 31));
    bndNote.setText("Note");
    bndNote.addMouseListener(new Fenster_bndNote_mouseAdapter(this));
    bndNC.setText("NC");
    bndNC.addMouseListener(new Fenster_bndNC_mouseAdapter(this));
    bndNC.setBounds(new Rectangle(123, 196, 90, 32));
    bndNewKlasse.setBounds(new Rectangle(124, 93, 90, 32));
    bndNewKlasse.setText("New");
    bndNewKlasse.addMouseListener(new Fenster_bndNewKlasse_mouseAdapter(this));
    bndSelectKl.setBounds(new Rectangle(11, 239, 112, 37));
    bndSelectKl.setText("Select");
    bndSelectKl.addMouseListener(new Fenster_bndSelectKl_mouseAdapter(this));
    bndRefresh.setBounds(new Rectangle(124, 163, 89, 30));
    bndRefresh.setText("Refresh");
    bndRefresh.addMouseListener(new Fenster_bndRefresh_mouseAdapter(this));
    bndExit.setText("Exit");
    bndExit.addMouseListener(new Fenster_bndExit_mouseAdapter(this));
    bndExit.setBounds(new Rectangle(377, 27, 59, 33));
    bndRefresh2.setBounds(new Rectangle(345, 163, 90, 32));
    bndRefresh2.setText("Refresh");
    bndRefresh2.addMouseListener(new Fenster_bndRefresh2_mouseAdapter(this));
    lblRunter.setBounds(new Rectangle(354, 268, 83, 24));
    lblRunter.setText("runter");
    lblRunter.addMouseListener(new Fenster_lblRunter_mouseAdapter(this));
    lblHoch.setText("hoch");
    lblHoch.setBounds(new Rectangle(350, 236, 83, 24));
    this.add(lblSubHeader1, null);
    this.add(bndDelSchueler, null);
    this.add(lstSchueler, null);
    this.add(bndSelectSch, null);
    this.add(pnlAddSch, null);
    pnlAddSch.add(bndAddAdd, null);
    pnlAddSch.add(lblAddVorname, null);
    pnlAddSch.add(lblAddNachname, null);
    pnlAddSch.add(lblAddPkt, null);
    pnlAddSch.add(txtAddVorname, null);
    pnlAddSch.add(txtAddNachname, null);
    pnlAddSch.add(txtAddPkt, null);
    pnlAddSch.add(lblSubHeader3, null);
    this.add(pnlEditSch, null);
    pnlEditSch.add(bndEditUpt, null);
    pnlEditSch.add(lblEditVorname, null);
    pnlEditSch.add(lblEditNachname, null);
    pnlEditSch.add(lblEditPkt, null);
    pnlEditSch.add(txtEditVorname, null);
    pnlEditSch.add(txtEditNachname, null);
    pnlEditSch.add(txtEditPkt, null);
    pnlEditSch.add(lblSubHeader4, null);
    //Button "Neue Klasse erzeugen" anzeigen
    this.add(bndNewKlasse, null);
    this.add(bndNC, null);
    this.add(lblSubHeader2, null);
    this.add(bndSelectKl, null);
    this.add(lstKLasse, null);
    this.add(bndExit, null);
    this.add(lblHeader, null);
    this.add(bndDelKlasse, null);
    this.add(bndRefresh, null);
    this.add(bndEditSchueler, null);
    this.add(bndNote, null);
    this.add(bndRefresh2, null);
    this.add(lblRunter, null);
    this.add(lblHoch, null);

  this.setIgnoreRepaint(false);
  this.setBackground(SystemColor.controlHighlight);
  this.setLayout(null);
}

//Button event fuer "neue Klasse anlegen" ####################################
void bndNewKlasse_mouseClicked(MouseEvent e)
{
  //Wird bei Clicken ausgefuehrt
  NeueKlasse NK = new NeueKlasse();

  File langDir = new File("Klassen");
  String[] languageFiles = langDir.list();

  lstKLasse.setModel(new DefaultListModel());
  lstKLasse.setListData(langDir.list());
}

//############################################################################


//Button event fuer "Klasse select" ##########################################
  void bndSelectKl_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();

    if(strSelectedKlasse == null)
      {
        System.out.println("Keine Arbeit ausgewaehlt!!!");
      }
    else
    {
      File langDir2 = new File("Schueler/" + strSelectedKlasse);
      String[] languageFiles2 = langDir2.list();

      lstSchueler.setModel(new DefaultListModel());
      lstSchueler.setListData(langDir2.list());
    }
  }
//############################################################################


//Button Exit ################################################################
  void bndExit_mouseClicked(MouseEvent e) 
  {
    System.exit(0);
  }

//############################################################################

//Button Refresh listing #####################################################
  void bndRefresh_mouseClicked(MouseEvent e)
  {
    File langDir = new File("Klassen");
    String[] languageFiles = langDir.list();

    lstKLasse.setModel(new DefaultListModel());
    lstKLasse.setListData(langDir.list());
  }
//############################################################################


//Button Dell Klasse #########################################################
  void bndDelKlasse_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    Delete dell = new Delete(strSelectedKlasse);

    File langDir = new File("Klassen");
    String[] languageFiles = langDir.list();

    lstKLasse.setModel(new DefaultListModel());
    lstKLasse.setListData(langDir.list());

    lstSchueler.setModel(new DefaultListModel());
  }
//############################################################################



//Button Add Schueler ########################################################
  void bndAddAdd_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    String strAddVorname = txtAddVorname.getText();
    String strAddNachname = txtAddNachname.getText();
    String strAddPkt = txtAddPkt.getText();

    AddSchueler adds = new AddSchueler(strSelectedKlasse, strAddVorname, strAddNachname, strAddPkt);

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());

    txtAddVorname.setText("");
    txtAddNachname.setText("");
    txtAddPkt.setText("");
  }
//############################################################################

//Button Dell Schueler #######################################################
  void bndDelSchueler_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    DeleteSchueler dellSch = new DeleteSchueler(strSelectedSchueler, strSelectedKlasse);

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());
  }
//############################################################################


//Button Refresh Schueler ####################################################
  void bndRefresh2_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());
  }
//############################################################################



//Button Edit Schueler #######################################################
  void bndEditSchueler_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    txtEditNachname.setText(strSelectedSchueler);

    try
    {
      File dieDatei = new File("Schueler2/" + strSelectedKlasse + "/" + strSelectedSchueler);
      BufferedReader file_in = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei)));
      String line;
      line=file_in.readLine();
      
          txtEditVorname.setText(line);

      file_in.close();
      }
      catch(IOException ioe)
      {
     }


     try
     {
       File dieDatei = new File("Schueler/" + strSelectedKlasse + "/" + strSelectedSchueler);
       BufferedReader file_in = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei)));
       String line;
       line=file_in.readLine();

         txtEditPkt.setText(line);

       file_in.close();
       }
       catch(IOException ioe)
       {
      }
  }
//############################################################################


//Button Update Schueler #####################################################
  void bndEditUpt_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();

    DeleteSchueler dellSch = new DeleteSchueler(strSelectedSchueler, strSelectedKlasse);

    String strAddVorname = txtEditVorname.getText();
    String strAddNachname = txtEditNachname.getText();
    String strAddPkt = txtEditPkt.getText();

    AddSchueler adds = new AddSchueler(strSelectedKlasse, strAddVorname, strAddNachname, strAddPkt);

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());

    txtEditVorname.setText("");
    txtEditNachname.setText("");
    txtEditPkt.setText("");
  }
//############################################################################


//Button Note berechenen #####################################################
  void bndNote_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();

    float fltProResult;

    try
      {
        File dieDatei = new File("Klassen/" + strSelectedKlasse);
        BufferedReader file_in = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei)));
        String line;
        line = file_in.readLine();

        String strPktNoteMax = line;
        float fltStrPktNoteMax = Integer.parseInt(strPktNoteMax);

        file_in.close();

        File dieDatei2 = new File("Schueler/" + strSelectedKlasse + "/" + strSelectedSchueler);
        BufferedReader file_in2 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei2)));
        String line2;
        line2 = file_in2.readLine();

        String strPktNoteSchueler = line2;
        float fltStrPktNoteSchueler = Integer.parseInt(strPktNoteSchueler);

        file_in2.close();

        File dieDatei3 = new File("Schueler2/" + strSelectedKlasse + "/" + strSelectedSchueler);
        BufferedReader file_in3 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei3)));
        String line3;
        line3 = file_in3.readLine();

        String strNameNoteSchueler = line3;

        file_in3.close();


        File dieDatei4 = new File("Klassen/" + strSelectedKlasse);
        BufferedReader file_in4 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei4)));
        String line4;
        line4 = file_in4.readLine();


        String strMaxPktNoteSchueler = line4;
        float fltStrMaxPktNoteSchueler = Integer.parseInt(strMaxPktNoteSchueler);


        file_in4.close();


        fltProResult = (fltStrPktNoteSchueler / fltStrMaxPktNoteSchueler) * 100;

        CalcNote CN = new CalcNote(strNameNoteSchueler, fltStrMaxPktNoteSchueler, fltProResult, strSelectedSchueler, fltStrPktNoteSchueler);
      }
      catch(Exception io)
      {
        //Source
      }
  }
//############################################################################



//Button select Schueler #####################################################
  void bndSelectSch_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();

    txtEditVorname.setText("");
    txtEditNachname.setText("");
    txtEditPkt.setText("");
  }
//############################################################################


//Button NC berechnen ########################################################
  void bndNC_mouseClicked(MouseEvent e)
  {

    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();

    try
    {
      //Auslesen aller Datien in Klassen Folder/Schueler #######################
      File file = new File("Schueler/" + strSelectedKlasse);
      if (file.isDirectory())
      {
        float fltTemp = 0;
        float fltTempI = 0;
        float fltProResult = 0;
        int intNote1 = 0;
        int intNote2 = 0;
        int intNote3 = 0;
        int intNote4 = 0;
        int intNote5 = 0;
        int intNote6 = 0;
  
      File[] listFiles = file.listFiles();


        File dieDatei1 = new File("Klassen/" + strSelectedKlasse);
        BufferedReader file_in1 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei1)));
        String line1;
        line1 = file_in1.readLine();

        String strMaxPktNoteSchueler1 = line1;
        float fltStrMaxPktNoteSchueler1 = Integer.parseInt(strMaxPktNoteSchueler1);

        file_in1.close();


        for (int i = 0; i < listFiles.length; i++)
        {
          //Stream auslesen aus Datei ########################################
          File dieDatei4 = listFiles[i];
          BufferedReader file_in4 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei4)));
          String line4;
          line4 = file_in4.readLine();

          String strMaxPktNoteSchueler = line4;
          float fltStrMaxPktNoteSchueler = Integer.parseInt(strMaxPktNoteSchueler);
          fltTempI = i;
          fltProResult = (fltStrMaxPktNoteSchueler / fltStrMaxPktNoteSchueler1) * 100;
          //IF SCHLEIFE #################################
          if(fltProResult >= 0 && fltProResult < 25)
          {
            intNote6++;
          }
          if(fltProResult >= 25 && fltProResult < 45)
          {
            intNote5++;
          }
          if(fltProResult >= 45 && fltProResult < 65)
          {
            intNote4++;
          }
          if(fltProResult >= 65 && fltProResult < 80)
          {
            intNote3++;
          }
          if(fltProResult >= 80 && fltProResult < 92)
          {
            intNote2++;
          }
          if(fltProResult >= 92)
          {
            intNote1++;
          }

          //##############################################
          fltTemp = fltTemp + fltStrMaxPktNoteSchueler;

          file_in4.close();
          //##################################################################
        }

        fltTemp = fltTemp / (fltTempI + 1);
        fltTemp = (fltTemp / fltStrMaxPktNoteSchueler1) * 100;
        NCberechnen NCB = new NCberechnen(fltTemp, fltTempI + 1, intNote1, intNote2, intNote3, intNote4, intNote5, intNote6);
      }
      //######################################################################
    }
    catch(Exception io)
    {
    }
  }
//############################################################################



//Button Scroll ##############################################################
  void lblRunter_mouseClicked(MouseEvent e)
  {
    lstSchueler.setSelectedIndex(9);
  }
//############################################################################
}


//Java class fuer "Neue Klasse anlegen" ######################################
class Fenster_bndNewKlasse_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndNewKlasse_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndNewKlasse_mouseClicked(e);
  }
}

//############################################################################


//Java class fuer "Klasse select" ############################################
class Fenster_bndSelectKl_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndSelectKl_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndSelectKl_mouseClicked(e);
  }
}
//############################################################################



//Java class Exit ############################################################
class Fenster_bndExit_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndExit_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)

  {
    adaptee.bndExit_mouseClicked(e);
  }
}
//############################################################################


//Java class refresh #########################################################
class Fenster_bndRefresh_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndRefresh_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndRefresh_mouseClicked(e);
  }
}
//############################################################################


//Java class Dell ############################################################
class Fenster_bndDelKlasse_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndDelKlasse_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndDelKlasse_mouseClicked(e);
  }
}

//############################################################################


//Java class Add Schueler ####################################################
class Fenster_bndAddAdd_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndAddAdd_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndAddAdd_mouseClicked(e);
  }
}
//############################################################################



//Java class Dell Schueler ###################################################
class Fenster_bndDelSchueler_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndDelSchueler_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndDelSchueler_mouseClicked(e);
  }
}
//############################################################################



//Java class Refresh Schueler ################################################
class Fenster_bndRefresh2_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndRefresh2_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndRefresh2_mouseClicked(e);
  }
}
//############################################################################


//Java class Edit Schueler ###################################################
class Fenster_bndEditSchueler_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndEditSchueler_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndEditSchueler_mouseClicked(e);
  }
}
//############################################################################


//Java class Update Schueler #################################################
class Fenster_bndEditUpt_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndEditUpt_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndEditUpt_mouseClicked(e);
  }
}
//############################################################################


//Java class Note berechnen ##################################################
class Fenster_bndNote_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndNote_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndNote_mouseClicked(e);
  }
}
//############################################################################



//Java class select Schueler #################################################
class Fenster_bndSelectSch_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndSelectSch_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndSelectSch_mouseClicked(e);
  }
}
//############################################################################


//Java class NC berechnen ####################################################
class Fenster_bndNC_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndNC_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndNC_mouseClicked(e);
  }
}

//############################################################################


//Java class Scrolldown ######################################################
class Fenster_lblRunter_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_lblRunter_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e)

  {
    adaptee.lblRunter_mouseClicked(e);
  }
}

//############################################################################
```

Die Relevantenteile (es geht um JList lstSchueler(Zeile 24-17)): 


```
File langDir = new File("Klassen");
  String[] languageFiles = langDir.list();
  JList lstKLasse = new JList(langDir.list());
  JList lstSchueler = new JList();
```

Und hier noch der Button der das ganze dann bewergstelligen soll:


```
//Button Scroll ##############################################################
  void lblRunter_mouseClicked(MouseEvent e)
  {
    lstSchueler.setSelectedIndex(9);
  }
```

Ich weis es ist aus guten Grund unerwuenscht nach Komplettloesungen zu fragen, aber ich bin ziehmlich in Zeit druck und halte mich hier ran jetzt schon ewig auf, also wenn mir jemand das ganze kurz so zurueck posten kann das es klappt waere ich ihm echt super dankbar


----------



## Guest (30. Mrz 2005)

lstSchueler ist in keinem JScrollPane drin. Absicht?

Alternative Lösung, wenn Scrollbar unerwünscht:


```
int lastIndex = lstSchueler.getModel().getSize()-1;
lstSchueler.scrollRectToVisible(lstSchueler.getCellBounds(lastIndex, lastIndex));
lstSchueler.setSelectionInterval(lastIndex, lastIndex);
```


----------



## Guest (30. Mrz 2005)

Also ich hab das jetzt mal in den Button ein gebaut:


```
//Button Scroll ##############################################################

  void lblRunter_mouseClicked(MouseEvent e)

  {

    //lstSchueler.setSelectedIndex(9);

    int lastIndex = lstSchueler.getModel().getSize()-1;

    lstSchueler.scrollRectToVisible(lstSchueler.getCellBounds(lastIndex, lastIndex));

    lstSchueler.setSelectionInterval(lastIndex, lastIndex);

  }

//############################################################################
```

Scrollt aber leider immer noch nicht runter 

Und ja, ich wollte das ohne Scrollbalken, praktisch so das er nur ueber den Button runter  scrollt.


----------



## Guest (30. Mrz 2005)

Versuche noch das hier
	
	
	
	





```
lstSchueler.ensureIndexIsVisible(lstSchueler.getModel().getSize()-1);
```


----------



## Negr0 (30. Mrz 2005)

Klappt so immer noch nicht 


```
//Button Scroll ##############################################################
  void lblRunter_mouseClicked(MouseEvent e)
  {
    int lastIndex = lstSchueler.getModel().getSize()+1;
    lstSchueler.scrollRectToVisible(lstSchueler.getCellBounds(lastIndex, lastIndex));
    lstSchueler.setSelectionInterval(lastIndex, lastIndex);
    lstSchueler.ensureIndexIsVisible(lstSchueler.getModel().getSize()+1);
  }
//############################################################################
```


----------



## mic_checker (30. Mrz 2005)

Guck ma hier:
http://java.sun.com/docs/books/tutorial/uiswing/events/listdatalistener.html

Da ist ein einfaches Beispiel mit ähnlicher Funktionalität, vielleicht hilfts ja.


----------



## Negr0 (30. Mrz 2005)

Das hab ich auch schon mal gefunden, aber das arbeitet mit dem DefaultListModel   wie kann ich das ganze in kombination mit meinem source umsetzen, ist das damit ueberhaubt umsetzbar?


----------



## mic_checker (30. Mrz 2005)

Wenn du meinen Source von "damals" holst müsstest du eigentlich auch mit dem DefaultListModel arbeiten (hab mir den Source nicht mehr angeguckt).

Hier das relevante aus dem Source, teil weggelassen:

```
class UpDownListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            int moveMe = list.getSelectedIndex();

            if (e.getActionCommand().equals(upString)) {
                if (moveMe != 0) {
                    list.setSelectedIndex(moveMe-1);
                    list.ensureIndexIsVisible(moveMe-1);
                }
            } else {
                if (moveMe != listModel.getSize()-1) {
                    list.setSelectedIndex(moveMe+1);
                    list.ensureIndexIsVisible(moveMe+1);
                }
            }
        }
    }
```

Wobei die Strings der Buttons sind:

```
private static final String upString = "Move up";
    private static final String downString = "Move down";
```
kannst hoch / runter bewegen.

Der Source arbeitet aber mit JScrollPane, kann auch nicht verstehen warum du ohne arbeiten willst?


----------



## mic_checker (30. Mrz 2005)

Anonymous hat gesagt.:
			
		

> Versuche das hier
> 
> 
> 
> ...



Das würde aber nur bewirken das die Scrollbar runter geht, nicht die Selektion der Liste.

Der andere Ansatz von oben führt bei mir nur zu ner Exception.

Mit dem Code den ich gerade gepostet hab funzt es aber (hier).


----------



## Negr0 (30. Mrz 2005)

Also ich hab damit jetzt mal rum experimentiert, aber ich komm damit einfach nicht klar, ich weis nicht wie ich das in meinen Source einbauen soll, vielleicht steh ich ja nur auf der Leitung aber langsam komm ich mir vor als haet ich nen Brett vorm Kopf ^^.


----------



## mic_checker (30. Mrz 2005)

Du willst die Selektion hoch/runter bewegen können.
Dafür holst du zwei Buttons (um bei obigem Code zu bleiben kannst du den Buttons den Text übergeben):


```
private static final String upString = "Move up";
    private static final String downString = "Move down";
```

Dann einfach den beiden Buttons den ActionListener zuweisen (UpDownListener).

Dann sollte es funktionieren - wenn möglich noch ne JScrollPane für die Liste benutzen.


----------



## Negr0 (30. Mrz 2005)

Also im klar Text, oben die "class" so wie sie da ist uebernehmen und in den Button das hier:


```
private static final String upString = "Move up";
    private static final String downString = "Move down";
```

einbauen?


----------



## mic_checker (30. Mrz 2005)

Ja, wenn du den ActionListener nicht umschreiben willst. Ansonsten musst du ändern:

```
if (e.getActionCommand().equals(upString)) { 
....
```
und "upString" durch das entsprechende ersetzen.

Für den Anfang einfach alles so wie oben übernehmen und es sollte klappen.


----------



## Negr0 (31. Mrz 2005)

Hab das ganze jetzt mal Probiert und zwar so:


```
//Button Scroll ##############################################################
  void lblRunter_mouseClicked(MouseEvent e)
  {
    private static final String upString = "Move up";
    private static final String downString = "Move down";
  }
//############################################################################
```

Dabei bekomme ich diese Fehlermeldung:

"Fenster.java": Ungültiger Ausdrucksbeginn in Zeile 613, Spalte 5
"Fenster.java": Ungültiger Ausdrucksbeginn in Zeile 614, Spalte 5


Zeile 613 ist: "    private static final String upString = "Move up";"
zeile 614 ist: "    private static final String downString = "Move down;"

Die "class" hab ich einfach ganz unten dran kopiert, da hat er mir keine Fehlermeldung ausgegeben....


----------



## mic_checker (31. Mrz 2005)

Diese Konstanten kommen nicht in die Methode, sondern hier hin:


```
public class Fenster extends Frame
{
    private static final String upString = "Move up";
    private static final String downString = "Move down"; 
...
```

Der Code für den ActionListener steht ja schon oben...


----------



## Negr0 (31. Mrz 2005)

Also vielleicht stelle ich mich ja etwas dumm an aber ich bekomme es immer noch nicht hin ^^

Jetzt bekomme bei der "class" jede maenge fehlermeldungen:

Variable kann nicht aufgeloest werden usw.


Den Button hab ich jetz so:


```
//Button Scroll ##############################################################
  void lblRunter_mouseClicked(MouseEvent e)
  {
    if (e.getActionCommand().equals(downString)) 
    { 
    }
  }
//############################################################################
```


----------



## Negr0 (31. Mrz 2005)

wie muss ich den Button weiter machen? Was muss in die if bediengung rein?


----------



## Negr0 (31. Mrz 2005)

Da ich immer noch keinen Schritt weiter komme und das ganze fertig werden muss und ich unter Zeit druck stehe  poste ich jetzt noch mal den source und hoffe auf hilfe, und bitte bitte werft mir nicht nur broeckchen zu,  dafuer hab ich einfach keine Zeit mehr, das muss jettz fertig werden vollkommen egal wie

Die relevanten zeilen sind:
17-18
614-631
862-884


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.File;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
import javax.swing.JScrollPane;

public class Fenster extends Frame
{

  private static final String upString = "Move up";
  private static final String downString = "Move down";

  //Objekte erzeugen
  //Main
  //Labels
  JLabel lblHeader = new JLabel();
  JLabel lblSubHeader1 = new JLabel();
  JLabel lblSubHeader2 = new JLabel();
  //Liste
  //Alle Dateien in Ordner anzeigen
  File langDir = new File("Klassen");
  String[] languageFiles = langDir.list();
  JList lstKLasse = new JList(langDir.list());
  JList lstSchueler = new JList();
  //Buttons
  JButton bndNewKlasse = new JButton();
  JButton bndDelKlasse = new JButton();
  JButton bndNC = new JButton();
  JButton bndSelectKl = new JButton();
  JButton bndDelSchueler = new JButton();
  JButton bndEditSchueler = new JButton();
  JButton bndNote = new JButton();
  JButton bndSelectSch = new JButton();
  JButton bndRefresh = new JButton();
  JButton bndExit = new JButton();

  //Add Schueler
  //Panel
  JPanel pnlAddSch = new JPanel();
  //Labels
  JLabel lblSubHeader3 = new JLabel();
  JLabel lblAddVorname = new JLabel();
  JLabel lblAddNachname = new JLabel();
  JLabel lblAddPkt = new JLabel();
  //TextFields
  TextField txtAddVorname = new TextField();
  TextField txtAddNachname = new TextField();
  TextField txtAddPkt = new TextField();
  //Buttons
  JButton bndAddAdd = new JButton();

  //Edit Schueler
  //Panel
  JPanel pnlEditSch = new JPanel();
  TitledBorder titledBorder1;
  //Labels
  JLabel lblSubHeader4 = new JLabel();
  JLabel lblEditVorname = new JLabel();
  JLabel lblEditNachname = new JLabel();
  JLabel lblEditPkt = new JLabel();
  //TextFields
  TextField txtEditVorname = new TextField();
  TextField txtEditNachname = new TextField();
  TextField txtEditPkt = new TextField();
  //Buttons
  JButton bndEditUpt = new JButton();
  JButton bndRefresh2 = new JButton();
  JButton lblRunter = new JButton();
  JButton lblHoch = new JButton();

  public Fenster()
  {
    super("FOSp12d");

    this.setSize(450,500);
    this.setLayout(null);
    this.show();

    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      //e.printStackTrace();
    }
  }

  private void jbInit() throws Exception
{
    titledBorder1 = new TitledBorder("");
    lblHeader.setFont(new java.awt.Font("Dialog", 0, 25));
    lblHeader.setText("NC Calc");
    lblHeader.setBounds(new Rectangle(176, 20, 105, 44));
    this.setFocusable(false);
    this.setResizable(false);
    lstKLasse.setBackground(SystemColor.desktop);
    lstKLasse.setAutoscrolls(true);
    lstKLasse.setDebugGraphicsOptions(0);
    lstKLasse.setRequestFocusEnabled(true);
    lstKLasse.setToolTipText("");
    lstKLasse.setPrototypeCellValue(null);
    lstKLasse.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lstKLasse.setBounds(new Rectangle(11, 93, 110, 140));
    lblSubHeader1.setText("Waehlen Sie eine Klasse...");
    lblSubHeader1.setBounds(new Rectangle(13, 67, 195, 29));
    lstSchueler.setBackground(SystemColor.desktop);
    lstSchueler.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lstSchueler.setBounds(new Rectangle(215, 93, 125, 141));
    lblSubHeader2.setText("Waehlen Sie einen Schueler...");
    lblSubHeader2.setBounds(new Rectangle(214, 70, 186, 23));
    bndSelectSch.setText("Select");
    bndSelectSch.addMouseListener(new Fenster_bndSelectSch_mouseAdapter(this));
    bndSelectSch.setBounds(new Rectangle(214, 239, 127, 37));
    bndDelSchueler.setBounds(new Rectangle(345, 95, 90, 32));
    bndDelSchueler.setText("Delete");
    bndDelSchueler.addMouseListener(new Fenster_bndDelSchueler_mouseAdapter(this));
    bndEditSchueler.setText("Edit");
    bndEditSchueler.addMouseListener(new Fenster_bndEditSchueler_mouseAdapter(this));
    bndEditSchueler.setBounds(new Rectangle(345, 129, 90, 32));
    bndDelKlasse.setText("Delete");
    bndDelKlasse.addMouseListener(new Fenster_bndDelKlasse_mouseAdapter(this));
    bndDelKlasse.setBounds(new Rectangle(124, 128, 90, 32));
    pnlAddSch.setBorder(titledBorder1);
    pnlAddSch.setDebugGraphicsOptions(DebugGraphics.LOG_OPTION);
    pnlAddSch.setRequestFocusEnabled(false);
    pnlAddSch.setToolTipText("");
    pnlAddSch.setVerifyInputWhenFocusTarget(true);
    pnlAddSch.setActionMap(null);
    pnlAddSch.setLayout(null);
    pnlAddSch.setBounds(new Rectangle(4, 302, 215, 172));
    lblSubHeader3.setFont(new java.awt.Font("Dialog", 1, 15));
    lblSubHeader3.setForeground(Color.black);
    lblSubHeader3.setText("Add Schueler");
    lblSubHeader3.setBounds(new Rectangle(58, 1, 103, 36));
    lblAddVorname.setText("Vorname:");
    lblAddVorname.setBounds(new Rectangle(6, 31, 61, 33));
    lblAddNachname.setBounds(new Rectangle(6, 59, 71, 33));
    lblAddNachname.setText("Nachname:");
    lblAddPkt.setText("Punkte:");
    lblAddPkt.setBounds(new Rectangle(6, 86, 71, 33));
    txtAddVorname.setText("");
    txtAddVorname.setBounds(new Rectangle(79, 37, 106, 23));
    txtAddNachname.setText("");
    txtAddNachname.setBounds(new Rectangle(79, 64, 106, 23));
    txtAddPkt.setText("");
    txtAddPkt.setBounds(new Rectangle(79, 92, 107, 23));
    lblSubHeader4.setBounds(new Rectangle(58, 1, 103, 36));
    lblSubHeader4.setText("Edit Schueler");
    lblSubHeader4.setForeground(Color.black);
    lblSubHeader4.setFont(new java.awt.Font("Dialog", 1, 15));
    txtEditNachname.setText("");
    txtEditNachname.setBounds(new Rectangle(79, 64, 106, 23));
    pnlEditSch.setBounds(new Rectangle(224, 302, 215, 172));
    pnlEditSch.setLayout(null);
    pnlEditSch.setActionMap(null);
    pnlEditSch.setVerifyInputWhenFocusTarget(true);
    pnlEditSch.setToolTipText("");
    pnlEditSch.setRequestFocusEnabled(false);
    pnlEditSch.setDebugGraphicsOptions(DebugGraphics.LOG_OPTION);
    pnlEditSch.setBorder(titledBorder1);
    txtEditPkt.setBounds(new Rectangle(79, 92, 107, 23));
    lblEditNachname.setBounds(new Rectangle(6, 59, 71, 33));
    lblEditNachname.setText("Nachname:");
    lblEditPkt.setText("Punkte:");
    lblEditPkt.setBounds(new Rectangle(6, 86, 71, 33));
    txtEditVorname.setText("");
    txtEditVorname.setBounds(new Rectangle(79, 37, 106, 23));
    lblEditVorname.setText("Vorname:");
    lblEditVorname.setBounds(new Rectangle(6, 31, 61, 33));
    bndAddAdd.setBounds(new Rectangle(50, 126, 102, 31));
    bndAddAdd.setActionCommand("");
    bndAddAdd.setText("Add");
    bndAddAdd.addMouseListener(new Fenster_bndAddAdd_mouseAdapter(this));
    bndEditUpt.setText("Update");
    bndEditUpt.addMouseListener(new Fenster_bndEditUpt_mouseAdapter(this));
    bndEditUpt.setBounds(new Rectangle(48, 125, 102, 31));
    bndEditUpt.setActionCommand("");
    bndNote.setBounds(new Rectangle(344, 197, 91, 31));
    bndNote.setText("Note");
    bndNote.addMouseListener(new Fenster_bndNote_mouseAdapter(this));
    bndNC.setText("NC");
    bndNC.addMouseListener(new Fenster_bndNC_mouseAdapter(this));
    bndNC.setBounds(new Rectangle(123, 196, 90, 32));
    bndNewKlasse.setBounds(new Rectangle(124, 93, 90, 32));
    bndNewKlasse.setText("New");
    bndNewKlasse.addMouseListener(new Fenster_bndNewKlasse_mouseAdapter(this));
    bndSelectKl.setBounds(new Rectangle(11, 239, 112, 37));
    bndSelectKl.setText("Select");
    bndSelectKl.addMouseListener(new Fenster_bndSelectKl_mouseAdapter(this));
    bndRefresh.setBounds(new Rectangle(124, 163, 89, 30));
    bndRefresh.setText("Refresh");
    bndRefresh.addMouseListener(new Fenster_bndRefresh_mouseAdapter(this));
    bndExit.setText("Exit");
    bndExit.addMouseListener(new Fenster_bndExit_mouseAdapter(this));
    bndExit.setBounds(new Rectangle(377, 27, 59, 33));
    bndRefresh2.setBounds(new Rectangle(345, 163, 90, 32));
    bndRefresh2.setText("Refresh");
    bndRefresh2.addMouseListener(new Fenster_bndRefresh2_mouseAdapter(this));
    lblRunter.setBounds(new Rectangle(354, 268, 83, 24));
    lblRunter.setText("runter");
    lblRunter.addMouseListener(new Fenster_lblRunter_mouseAdapter(this));
    lblHoch.setText("hoch");
    lblHoch.setBounds(new Rectangle(350, 236, 83, 24));
    this.add(lblSubHeader1, null);
    this.add(bndDelSchueler, null);
    this.add(lstSchueler, null);
    this.add(bndSelectSch, null);
    this.add(pnlAddSch, null);
    pnlAddSch.add(bndAddAdd, null);
    pnlAddSch.add(lblAddVorname, null);
    pnlAddSch.add(lblAddNachname, null);
    pnlAddSch.add(lblAddPkt, null);
    pnlAddSch.add(txtAddVorname, null);
    pnlAddSch.add(txtAddNachname, null);
    pnlAddSch.add(txtAddPkt, null);
    pnlAddSch.add(lblSubHeader3, null);
    this.add(pnlEditSch, null);
    pnlEditSch.add(bndEditUpt, null);
    pnlEditSch.add(lblEditVorname, null);
    pnlEditSch.add(lblEditNachname, null);
    pnlEditSch.add(lblEditPkt, null);
    pnlEditSch.add(txtEditVorname, null);
    pnlEditSch.add(txtEditNachname, null);
    pnlEditSch.add(txtEditPkt, null);
    pnlEditSch.add(lblSubHeader4, null);
    //Button "Neue Klasse erzeugen" anzeigen
    this.add(bndNewKlasse, null);
    this.add(bndNC, null);
    this.add(lblSubHeader2, null);
    this.add(bndSelectKl, null);
    this.add(lstKLasse, null);
    this.add(bndExit, null);
    this.add(lblHeader, null);
    this.add(bndDelKlasse, null);
    this.add(bndRefresh, null);
    this.add(bndEditSchueler, null);
    this.add(bndNote, null);
    this.add(bndRefresh2, null);
    this.add(lblRunter, null);
    this.add(lblHoch, null);

  this.setIgnoreRepaint(false);
  this.setBackground(SystemColor.controlHighlight);
  this.setLayout(null);
}

//Button event fuer "neue Klasse anlegen" ####################################
void bndNewKlasse_mouseClicked(MouseEvent e)
{
  //Wird bei Clicken ausgefuehrt
  NeueKlasse NK = new NeueKlasse();

  File langDir = new File("Klassen");
  String[] languageFiles = langDir.list();

  lstKLasse.setModel(new DefaultListModel());
  lstKLasse.setListData(langDir.list());
}
//############################################################################

//Button event fuer "Klasse select" ##########################################
  void bndSelectKl_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();

    if(strSelectedKlasse == null)
      {
        System.out.println("Keine Arbeit ausgewaehlt!!!");
      }
    else
    {
      File langDir2 = new File("Schueler/" + strSelectedKlasse);
      String[] languageFiles2 = langDir2.list();

      lstSchueler.setModel(new DefaultListModel());
      lstSchueler.setListData(langDir2.list());
    }
  }
//############################################################################


//Button Exit ################################################################
  void bndExit_mouseClicked(MouseEvent e)
  {
    System.exit(0);
  }
//############################################################################

//Button Refresh listing #####################################################
  void bndRefresh_mouseClicked(MouseEvent e)
  {
    File langDir = new File("Klassen");
    String[] languageFiles = langDir.list();

    lstKLasse.setModel(new DefaultListModel());
    lstKLasse.setListData(langDir.list());
  }
//############################################################################

//Button Dell Klasse #########################################################
  void bndDelKlasse_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    Delete dell = new Delete(strSelectedKlasse);

    File langDir = new File("Klassen");
    String[] languageFiles = langDir.list();

    lstKLasse.setModel(new DefaultListModel());
    lstKLasse.setListData(langDir.list());

    lstSchueler.setModel(new DefaultListModel());
  }
//############################################################################

//Button Add Schueler ########################################################
  void bndAddAdd_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    String strAddVorname = txtAddVorname.getText();
    String strAddNachname = txtAddNachname.getText();
    String strAddPkt = txtAddPkt.getText();

    AddSchueler adds = new AddSchueler(strSelectedKlasse, strAddVorname, strAddNachname, strAddPkt);

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());

    txtAddVorname.setText("");
    txtAddNachname.setText("");
    txtAddPkt.setText("");
  }
//############################################################################

//Button Dell Schueler #######################################################
  void bndDelSchueler_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    DeleteSchueler dellSch = new DeleteSchueler(strSelectedSchueler, strSelectedKlasse);

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());
  }
//############################################################################

//Button Refresh Schueler ####################################################
  void bndRefresh2_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());
  }
//############################################################################

//Button Edit Schueler #######################################################
  void bndEditSchueler_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    txtEditNachname.setText(strSelectedSchueler);


    try
    {
      File dieDatei = new File("Schueler2/" + strSelectedKlasse + "/" + strSelectedSchueler);
      BufferedReader file_in = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei)));
      String line;
      line=file_in.readLine();

        txtEditVorname.setText(line);

      file_in.close();
      }
      catch(IOException ioe)
      {
     }


     try
     {
       File dieDatei = new File("Schueler/" + strSelectedKlasse + "/" + strSelectedSchueler);
       BufferedReader file_in = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei)));
       String line;
       line=file_in.readLine();

         txtEditPkt.setText(line);

       file_in.close();
       }
       catch(IOException ioe)
       {
      }
  }
//############################################################################

//Button Update Schueler #####################################################
  void bndEditUpt_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();

    DeleteSchueler dellSch = new DeleteSchueler(strSelectedSchueler, strSelectedKlasse);

    String strAddVorname = txtEditVorname.getText();
    String strAddNachname = txtEditNachname.getText();
    String strAddPkt = txtEditPkt.getText();

    AddSchueler adds = new AddSchueler(strSelectedKlasse, strAddVorname, strAddNachname, strAddPkt);

    File langDir2 = new File("Schueler/" + strSelectedKlasse);
    String[] languageFiles2 = langDir2.list();

    lstSchueler.setModel(new DefaultListModel());
    lstSchueler.setListData(langDir2.list());

    txtEditVorname.setText("");
    txtEditNachname.setText("");
    txtEditPkt.setText("");

  }
//############################################################################

//Button Note berechenen #####################################################
  void bndNote_mouseClicked(MouseEvent e)
  {
    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();

    float fltProResult;

    try
      {
        File dieDatei = new File("Klassen/" + strSelectedKlasse);
        BufferedReader file_in = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei)));
        String line;
        line = file_in.readLine();

        String strPktNoteMax = line;
        float fltStrPktNoteMax = Integer.parseInt(strPktNoteMax);

        file_in.close();

        File dieDatei2 = new File("Schueler/" + strSelectedKlasse + "/" + strSelectedSchueler);
        BufferedReader file_in2 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei2)));
        String line2;
        line2 = file_in2.readLine();

        String strPktNoteSchueler = line2;
        float fltStrPktNoteSchueler = Integer.parseInt(strPktNoteSchueler);

        file_in2.close();

        File dieDatei3 = new File("Schueler2/" + strSelectedKlasse + "/" + strSelectedSchueler);
        BufferedReader file_in3 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei3)));
        String line3;
        line3 = file_in3.readLine();

        String strNameNoteSchueler = line3;

        file_in3.close();


        File dieDatei4 = new File("Klassen/" + strSelectedKlasse);
        BufferedReader file_in4 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei4)));
        String line4;
        line4 = file_in4.readLine();

        String strMaxPktNoteSchueler = line4;
        float fltStrMaxPktNoteSchueler = Integer.parseInt(strMaxPktNoteSchueler);

        file_in4.close();



        fltProResult = (fltStrPktNoteSchueler / fltStrMaxPktNoteSchueler) * 100;

        CalcNote CN = new CalcNote(strNameNoteSchueler, fltStrMaxPktNoteSchueler, fltProResult, strSelectedSchueler, fltStrPktNoteSchueler);
      }
      catch(Exception io)
      {
        //Source
      }
  }
//############################################################################

//Button select Schueler #####################################################
  void bndSelectSch_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();

    txtEditVorname.setText("");
    txtEditNachname.setText("");
    txtEditPkt.setText("");
  }
//############################################################################

//Button NC berechnen ########################################################
  void bndNC_mouseClicked(MouseEvent e)
  {

    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();



    try
    {
      //Auslesen aller Datien in Klassen Folder/Schueler #######################
      File file = new File("Schueler/" + strSelectedKlasse);
      if (file.isDirectory())
      {
        float fltTemp = 0;
        float fltTempI = 0;
        float fltProResult = 0;
        int intNote1 = 0;
        int intNote2 = 0;
        int intNote3 = 0;
        int intNote4 = 0;
        int intNote5 = 0;
        int intNote6 = 0;
        File[] listFiles = file.listFiles();


        File dieDatei1 = new File("Klassen/" + strSelectedKlasse);
        BufferedReader file_in1 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei1)));
        String line1;
        line1 = file_in1.readLine();

        String strMaxPktNoteSchueler1 = line1;
        float fltStrMaxPktNoteSchueler1 = Integer.parseInt(strMaxPktNoteSchueler1);

        file_in1.close();

        for (int i = 0; i < listFiles.length; i++)
        {
          //Stream auslesen aus Datei ########################################
          File dieDatei4 = listFiles[i];
          BufferedReader file_in4 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei4)));
          String line4;
          line4 = file_in4.readLine();

          String strMaxPktNoteSchueler = line4;
          float fltStrMaxPktNoteSchueler = Integer.parseInt(strMaxPktNoteSchueler);
          fltTempI = i;
          fltProResult = (fltStrMaxPktNoteSchueler / fltStrMaxPktNoteSchueler1) * 100;
          //IF SCHLEIFE ##################################


          if(fltProResult >= 0 && fltProResult < 25)
          {
            intNote6++;
          }
          if(fltProResult >= 25 && fltProResult < 45)
          {
            intNote5++;
          }
          if(fltProResult >= 45 && fltProResult < 65)
          {
            intNote4++;
          }
          if(fltProResult >= 65 && fltProResult < 80)
          {
            intNote3++;
          }
          if(fltProResult >= 80 && fltProResult < 92)
          {
            intNote2++;
          }
          if(fltProResult >= 92)
          {
            intNote1++;
          }




          //##############################################
          fltTemp = fltTemp + fltStrMaxPktNoteSchueler;
          file_in4.close();
          //##################################################################
        }

        fltTemp = fltTemp / (fltTempI + 1);
        fltTemp = (fltTemp / fltStrMaxPktNoteSchueler1) * 100;
        NCberechnen NCB = new NCberechnen(fltTemp, fltTempI + 1, intNote1, intNote2, intNote3, intNote4, intNote5, intNote6);
      }
      //######################################################################

    }
    catch(Exception io)
    {
    }
  }
//############################################################################

//Button Scroll ##############################################################
//  void lblRunter_mouseClicked(MouseEvent e)
//  {
//    if (e.getActionCommand().equals(downString)) 
//    { 
//    }
//  }
public void actionPerformed(ActionEvent ae)
{
  Object e = ae.getSource();
  if(e == lblRunter)
    {
      if (ae.getActionCommand().equals(downString)) 
      { 
      }

    }
}

//############################################################################

}

//Java class fuer "Neue Klasse anlegen" ######################################
class Fenster_bndNewKlasse_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndNewKlasse_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndNewKlasse_mouseClicked(e);
  }
}
//############################################################################

//Java class fuer "Klasse select" ############################################
class Fenster_bndSelectKl_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndSelectKl_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndSelectKl_mouseClicked(e);
  }
}
//############################################################################

//Java class Exit ############################################################
class Fenster_bndExit_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndExit_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndExit_mouseClicked(e);
  }
}
//############################################################################

//Java class refresh #########################################################
class Fenster_bndRefresh_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndRefresh_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndRefresh_mouseClicked(e);
  }
}
//############################################################################

//Java class Dell ############################################################
class Fenster_bndDelKlasse_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndDelKlasse_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndDelKlasse_mouseClicked(e);
  }
}
//############################################################################

//Java class Add Schueler ####################################################
class Fenster_bndAddAdd_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndAddAdd_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndAddAdd_mouseClicked(e);
  }
}
//############################################################################

//Java class Dell Schueler ###################################################
class Fenster_bndDelSchueler_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndDelSchueler_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndDelSchueler_mouseClicked(e);
  }
}
//############################################################################

//Java class Refresh Schueler ################################################
class Fenster_bndRefresh2_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndRefresh2_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndRefresh2_mouseClicked(e);
  }
}
//############################################################################


//Java class Edit Schueler ###################################################
class Fenster_bndEditSchueler_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndEditSchueler_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndEditSchueler_mouseClicked(e);
  }
}
//############################################################################

//Java class Update Schueler #################################################
class Fenster_bndEditUpt_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndEditUpt_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndEditUpt_mouseClicked(e);
  }
}
//############################################################################

//Java class Note berechnen ##################################################
class Fenster_bndNote_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndNote_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndNote_mouseClicked(e);
  }
}
//############################################################################

//Java class select Schueler #################################################
class Fenster_bndSelectSch_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndSelectSch_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndSelectSch_mouseClicked(e);
  }
}
//############################################################################

//Java class NC berechnen ####################################################
class Fenster_bndNC_mouseAdapter extends java.awt.event.MouseAdapter
{
  Fenster adaptee;

  Fenster_bndNC_mouseAdapter(Fenster adaptee)
  {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e)
  {
    adaptee.bndNC_mouseClicked(e);
  }
}
//############################################################################

//Java class Scrolldown ######################################################
//class Fenster_lblRunter_mouseAdapter extends java.awt.event.MouseAdapter
//{
//  Fenster adaptee;

//  Fenster_lblRunter_mouseAdapter(Fenster adaptee)
//  {
//    this.adaptee = adaptee;
//  }
//  public void mouseClicked(MouseEvent e)
//  {
//    adaptee.lblRunter_mouseClicked(e);
//  }
//}
//############################################################################

class UpDownListener implements ActionListener
{
  public void actionPerformed(ActionEvent ae)
  {
    int moveMe = lstSchueler.getSelectedIndex();

    if (ae.getActionCommand().equals(upString))
    {
      if (moveMe != 0) {
        lstSchueler.setSelectedIndex(moveMe-1);
        lstSchueler.ensureIndexIsVisible(moveMe-1);
      }
    } 
    else
    {
        if (moveMe != listModel.getSize()-1)
        {
          lstSchueler.setSelectedIndex(moveMe+1);
          lstSchueler.ensureIndexIsVisible(moveMe+1);
        }
        }
      }
    }
```


----------



## mic_checker (31. Mrz 2005)

Poste doch bitte mal deinen (neuen) kompletten Code und heb den relevanten Teil fett hervor.

Wenn du runter gehen willst:


```
int moveMe = list.getSelectedIndex();
....
    if (e.getActionCommand().equals(downString))
    { 
                if (moveMe != listModel.getSize()-1) {
                    list.setSelectedIndex(moveMe+1);
                    list.ensureIndexIsVisible(moveMe+1);
                }
    }
```

Verstehe ehrlich gesagt nicht genau das Problem.

Du hast einen (oder zwei?) Buttons, der ActionListener ist ebenfalls schon fertig. Jetzt musst du nichts anderes machen als die Buttons zum Fenster hinzufügen und den ActionListener hinzufügen, ganz normal.....

edit:
ok, werd mir den Code mal anschauen.


----------



## mic_checker (31. Mrz 2005)

Ändere in dem UpDownListener schonmal folgendes:

```
if (moveMe != lstSchueler.getModel().getSize()-1)
        {
....
```
dann wird er nicht mehr wegen listModel meckern.

Ansonsten pack den ActionListener noch in die KLasse Fenster, sieht dann am Ende so aus:


```
....
//############################################################################

//Button Scroll ##############################################################
//  void lblRunter_mouseClicked(MouseEvent e)
//  {
//    if (e.getActionCommand().equals(downString))
//    {
//    }
//  }
public void actionPerformed(ActionEvent ae)
{
  Object e = ae.getSource();
  if(e == lblRunter)
    {
      if (ae.getActionCommand().equals(downString))
      {
      }

    }
}

//############################################################################

class UpDownListener implements ActionListener {
  public void actionPerformed(ActionEvent ae) {
    int moveMe = lstSchueler.getSelectedIndex();

    if (ae.getActionCommand().equals(upString)) {
      if (moveMe != 0) {
        lstSchueler.setSelectedIndex(moveMe-1);
        lstSchueler.ensureIndexIsVisible(moveMe-1);
      }
    } else {
      if (moveMe != lstSchueler.getModel().getSize()-1) {
      	lstSchueler.setSelectedIndex(moveMe+1);
          	lstSchueler.ensureIndexIsVisible(moveMe+1);
		}
    }
 	}
}
```

So kompiliert er zumindest mal, kann das Prog nicht testen, da mir einige deiner Klassen fehlen etc.


----------



## Negr0 (31. Mrz 2005)

Ok, schon mal danke, werd es gleich testen....


----------



## mic_checker (31. Mrz 2005)

Noch einen Tipp:
Wenn du schon nen DefaultListModel verwendest solltest du es auch so ähnlich machen wie im andern Thread besprochen:


```
private DefaultListModel listModel;
....
        listModel = new DefaultListModel();
        listModel.addElement("test");
JList list = new JList(listModel);
```

Dann kannst du später über das Model noch hinzufügen,entfernen etc. und ersparst dir das ständige getModel() etc.....

Das sollte aber primär nichts mit deinem Prob zu tun haben.


----------



## Negr0 (31. Mrz 2005)

Hab die aenderungen vorgenommen,

bekomme jetzt in der "class" folgende Fehlermeldungen:

"Fenster.java": Symbol kann nicht aufgelöst werden: Variable lstSchueler in Klasse UpDownListener in Zeile 864, Spalte 18
"Fenster.java": Symbol kann nicht aufgelöst werden: Variable upString in Klasse UpDownListener in Zeile 866, Spalte 38
"Fenster.java": Symbol kann nicht aufgelöst werden: Variable lstSchueler in Klasse UpDownListener in Zeile 868, Spalte 9
"Fenster.java": Symbol kann nicht aufgelöst werden: Variable lstSchueler in Klasse UpDownListener in Zeile 869, Spalte 9
"Fenster.java": Symbol kann nicht aufgelöst werden: Variable lstSchueler in Klasse UpDownListener in Zeile 872, Spalte 21
"Fenster.java": Symbol kann nicht aufgelöst werden: Variable lstSchueler in Klasse UpDownListener in Zeile 873, Spalte 10
"Fenster.java": Symbol kann nicht aufgelöst werden: Variable lstSchueler in Klasse UpDownListener in Zeile 874, Spalte 14


----------



## mic_checker (31. Mrz 2005)

Dann hast du den ActionListener an der falschen Stelle eingefügt:


```
.....
//############################################################################

//Button select Schueler #####################################################
  void bndSelectSch_mouseClicked(MouseEvent e)
  {
    String strSelectedSchueler = (String) lstSchueler.getSelectedValue();

    txtEditVorname.setText("");
    txtEditNachname.setText("");
    txtEditPkt.setText("");
  }
//############################################################################

//Button NC berechnen ########################################################
  void bndNC_mouseClicked(MouseEvent e)
  {

    String strSelectedKlasse = (String) lstKLasse.getSelectedValue();



    try
    {
      //Auslesen aller Datien in Klassen Folder/Schueler #######################
      File file = new File("Schueler/" + strSelectedKlasse);
      if (file.isDirectory())
      {
        float fltTemp = 0;
        float fltTempI = 0;
        float fltProResult = 0;
        int intNote1 = 0;
        int intNote2 = 0;
        int intNote3 = 0;
        int intNote4 = 0;
        int intNote5 = 0;
        int intNote6 = 0;
        File[] listFiles = file.listFiles();


        File dieDatei1 = new File("Klassen/" + strSelectedKlasse);
        BufferedReader file_in1 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei1)));
        String line1;
        line1 = file_in1.readLine();

        String strMaxPktNoteSchueler1 = line1;
        float fltStrMaxPktNoteSchueler1 = Integer.parseInt(strMaxPktNoteSchueler1);

        file_in1.close();

        for (int i = 0; i < listFiles.length; i++)
        {
          //Stream auslesen aus Datei ########################################
          File dieDatei4 = listFiles[i];
          BufferedReader file_in4 = new BufferedReader(new InputStreamReader(new FileInputStream(dieDatei4)));
          String line4;
          line4 = file_in4.readLine();

          String strMaxPktNoteSchueler = line4;
          float fltStrMaxPktNoteSchueler = Integer.parseInt(strMaxPktNoteSchueler);
          fltTempI = i;
          fltProResult = (fltStrMaxPktNoteSchueler / fltStrMaxPktNoteSchueler1) * 100;
          //IF SCHLEIFE ##################################


          if(fltProResult >= 0 && fltProResult < 25)
          {
            intNote6++;
          }
          if(fltProResult >= 25 && fltProResult < 45)
          {
            intNote5++;
          }
          if(fltProResult >= 45 && fltProResult < 65)
          {
            intNote4++;
          }
          if(fltProResult >= 65 && fltProResult < 80)
          {
            intNote3++;
          }
          if(fltProResult >= 80 && fltProResult < 92)
          {
            intNote2++;
          }
          if(fltProResult >= 92)
          {
            intNote1++;
          }




          //##############################################
          fltTemp = fltTemp + fltStrMaxPktNoteSchueler;
          file_in4.close();
          //##################################################################
        }

        fltTemp = fltTemp / (fltTempI + 1);
        fltTemp = (fltTemp / fltStrMaxPktNoteSchueler1) * 100;
        //NCberechnen NCB = new NCberechnen(fltTemp, fltTempI + 1, intNote1, intNote2, intNote3, intNote4, intNote5, intNote6);
      }
      //######################################################################

    }
    catch(Exception io)
    {
    }
  }
//############################################################################

//Button Scroll ##############################################################
//  void lblRunter_mouseClicked(MouseEvent e)
//  {
//    if (e.getActionCommand().equals(downString))
//    {
//    }
//  }
public void actionPerformed(ActionEvent ae)
{
  Object e = ae.getSource();
  if(e == lblRunter)
    {
      if (ae.getActionCommand().equals(downString))
      {
      }

    }
}
//############################################################################

class UpDownListener implements ActionListener {
  public void actionPerformed(ActionEvent ae) {
    int moveMe = lstSchueler.getSelectedIndex();

    if (ae.getActionCommand().equals(upString)) {
      if (moveMe != 0) {
        lstSchueler.setSelectedIndex(moveMe-1);
        lstSchueler.ensureIndexIsVisible(moveMe-1);
      }
    } else {
      if (moveMe != lstSchueler.getModel().getSize()-1) {
      	lstSchueler.setSelectedIndex(moveMe+1);
          	lstSchueler.ensureIndexIsVisible(moveMe+1);
		}
    }
 	}
}

} //Ende Klasse Fenster
```


----------



## Negr0 (31. Mrz 2005)

Meinst du "implements ActionListener"? Wenn ja wo muesste das hin?


----------



## mic_checker (31. Mrz 2005)

Das gehört ganz normal zum UpDownListener, da dieser ja dieses Interface implementiert.

hast du es mal mit diesem Code probiert (einfach schauen ab wo oben die eine Methode anfängt und deinen Source dadurch ersetzen).


----------



## mic_checker (31. Mrz 2005)

Hi,
ich hab dir jetzt mal schnell ein kleines Testprog geschrieben das das ganze veranschaulicht. Da alles ganz schnell hingeschrieben ist beachtet evtl. Unschönheiten nicht 


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class JListText extends JFrame {
   private JList list;
   private DefaultListModel listModel;

   private static final String upString = "Move up";
   private static final String downString = "Move down";

   private JButton upButton;
   private JButton downButton;
    
   public JListText() {
	   super("JListText");
		upButton = new JButton(upString);
		downButton = new JButton(downString);
		JPanel butPanel = new JPanel(new FlowLayout());
		butPanel.add(upButton);
		butPanel.add(downButton);  
		
		listModel = new DefaultListModel();
		listModel.addElement("Test1"); 
		listModel.addElement("Test2");
		listModel.addElement("Test3");
		listModel.addElement("Test4");
		listModel.addElement("Test5");								
		list = new JList(listModel);
		list.setSelectedIndex(0);
		
		upButton.addActionListener(new UpDownListener());
		downButton.addActionListener(new UpDownListener());
		
		getContentPane().setLayout(new BorderLayout());
		getContentPane().add(new JScrollPane(list),"Center");
		getContentPane().add(butPanel,"South");
	}
	
	class UpDownListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            int moveMe = list.getSelectedIndex();
                     
            if (e.getActionCommand().equals(upString)) {
                if (moveMe != 0) {
                    list.setSelectedIndex(moveMe-1);
                    list.ensureIndexIsVisible(moveMe-1);
                }
            } else {
                if (moveMe != listModel.getSize()-1) {
                    list.setSelectedIndex(moveMe+1);
                    list.ensureIndexIsVisible(moveMe+1);
                }
            }
        }
    }
   
	public static void main(String[] args) {
		JListText f = new JListText();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setSize(500,500);
		f.show();
	}
}
```


----------

