JList mit Mausklick auf einen JButton scrollen

Status
Nicht offen für weitere Antworten.
N

Negr0

Gast
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.
 
G

Guest

Gast
Versuche das hier
Code:
JScrollBar sb = scrollPane.getVerticalScrollBar();
sb.setValue(sb.getValue() + sb.getUnitIncrement(1)); // die 1 bedeutet "nach unten", nicht 1 Einheit
 
N

Negr0

Gast
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...):

Code:
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)):

Code:
  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:

Code:
//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 :)
 
G

Guest

Gast
lstSchueler ist in keinem JScrollPane drin. Absicht?

Alternative Lösung, wenn Scrollbar unerwünscht:

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

Guest

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

Code:
//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.
 
G

Guest

Gast
Versuche noch das hier
Code:
lstSchueler.ensureIndexIsVisible(lstSchueler.getModel().getSize()-1);
 
N

Negr0

Gast
Klappt so immer noch nicht :(

Code:
//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);
  }
//############################################################################
 
N

Negr0

Gast
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

Top Contributor
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:
Code:
    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:
Code:
    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

Top Contributor
Anonymous hat gesagt.:
Versuche das hier
Code:
JScrollBar sb = scrollPane.getVerticalScrollBar();
sb.setValue(sb.getValue() + sb.getUnitIncrement(1)); // die 1 bedeutet "nach unten", nicht 1 Einheit

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).
 
N

Negr0

Gast
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

Top Contributor
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):

Code:
   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.
 
N

Negr0

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

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

einbauen?
 

mic_checker

Top Contributor
Ja, wenn du den ActionListener nicht umschreiben willst. Ansonsten musst du ändern:
Code:
 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.
 
N

Negr0

Gast
Hab das ganze jetzt mal Probiert und zwar so:

Code:
//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

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

Code:
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...
 
N

Negr0

Gast
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:

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

Negr0

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

Negr0

Gast
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

Code:
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

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

Wenn du runter gehen willst:

Code:
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

Top Contributor
Ändere in dem UpDownListener schonmal folgendes:
Code:
        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:

Code:
....
//############################################################################

//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.
 

mic_checker

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

Code:
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.
 
N

Negr0

Gast
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

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

Code:
.....
//############################################################################

//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
 
N

Negr0

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

mic_checker

Top Contributor
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

Top Contributor
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 ;)

Code:
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();
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Q-bert Strings aus der JList in eine Datenbank speichern Allgemeine Java-Themen 1
L Drop Emails von Outlook in eine JList Allgemeine Java-Themen 5
F 2D Array in jList einfügen Allgemeine Java-Themen 8
H JList GUI Allgemeine Java-Themen 0
K Neue Elemente in JList einfügen Allgemeine Java-Themen 2
R Vector in JList Allgemeine Java-Themen 11
Joew0815 JList + JTableModel: Parameter der Tabelle übergeben Allgemeine Java-Themen 10
S JList mit JScrollPane Allgemeine Java-Themen 6
S JList mit JScrollBar Allgemeine Java-Themen 6
nutellastulle Zugriff, Übergabe, Bearbeitung und Ausgabe von Jlist Allgemeine Java-Themen 6
S XML in JList Allgemeine Java-Themen 3
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
M Swing JList Problem Allgemeine Java-Themen 4
A JList als JMenuItem Allgemeine Java-Themen 7
A Drucken einer JList Allgemeine Java-Themen 3
lenniii Listener & JList Allgemeine Java-Themen 3
S JList in Vector Allgemeine Java-Themen 3
J MP3 mit Java - Frage zu JList Allgemeine Java-Themen 5
M JList und DB Allgemeine Java-Themen 6
F Strings in JList ausrichten/links/rechts/mittig Allgemeine Java-Themen 10
Zed JList Object einfügen und Text anzeigen Allgemeine Java-Themen 3
P JList Allgemeine Java-Themen 4
B 2 JList instanzen wo nur einer zur selben Zeit selektierbar? Allgemeine Java-Themen 8
B Aktualisierung einer JList Allgemeine Java-Themen 9
B JList Element Auswahl Allgemeine Java-Themen 2
G JList lädt gesamten Datenbestand Allgemeine Java-Themen 5
M JList seltsames verhalten. Allgemeine Java-Themen 5
W JList, Datenbankanbindung, getSelected? Allgemeine Java-Themen 7
T ungewöhnliche Exception (Multithreading und JList) Allgemeine Java-Themen 10
N JList aktualisieren Allgemeine Java-Themen 23
S Generellen MausKlick am PC erkennen Allgemeine Java-Themen 1
K Farbe erkannt = agieren, per Mausklick etc. Allgemeine Java-Themen 47
M Input/Output Mausklick außerhalb des Frames registrieren Allgemeine Java-Themen 2
S per Mausklick Position ermitteln Allgemeine Java-Themen 8
Maxim6394 Grafik zu Mausklick-Koordinate bewegen Allgemeine Java-Themen 18
M JTree aktualisieren nach Mausklick Allgemeine Java-Themen 12
L Mausklick simulieren Allgemeine Java-Themen 4
D JTable -> ArrayIndexOutOfBoundsException bei Mausklick Allgemeine Java-Themen 2
M JTextPane Mausklick auf bestimmte Wörter startet Aktion Allgemeine Java-Themen 8
S Mausklick außerhalb des Programms erzeugen? Allgemeine Java-Themen 23
M datei über rechten mausklick aus explorer in programm laden Allgemeine Java-Themen 4
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
Robert Zenz Ich brauche bitte mal kurz einen Sanity/Reality-Check betreffend Tests. Allgemeine Java-Themen 9
R Wie gestaltet man einen Authentifizierungsflow? Allgemeine Java-Themen 6
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
berserkerdq2 Text über einen Shape anzeigen (Scenebuilder) Allgemeine Java-Themen 1
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
N Wie mache ich einen UnitTest? Allgemeine Java-Themen 16
D Klassendesign für einen Pascal Interpreter Allgemeine Java-Themen 6
Jose05 Gibt es einen Nachteil bei dem JDK 8? Allgemeine Java-Themen 7
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
O Warum kann ich so keine Elemente löschen und erhalte einen IllegalStateException? Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
N Validator für einen SQL-Befehl Allgemeine Java-Themen 22
ZH1896ZH Best Practice Wie erstellt man am besten einen Kalender? Allgemeine Java-Themen 3
R Java Stream: Ist es möglich, einen stream zusammenzufassen Allgemeine Java-Themen 6
Zrebna FileUtils.cleanDirectory() - aber einen sub-Ordner "verschonen" Allgemeine Java-Themen 1
MiMa Datei verschieben hat einen Fehler?? Allgemeine Java-Themen 20
L Generator für einen Parser implementieren Allgemeine Java-Themen 13
W Haben Konstruktoren in Java eigentlich immer mindestens einen Parameter? Allgemeine Java-Themen 4
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
A Mithilfe von einer Nummer einen Namen finden n-Beziehung Allgemeine Java-Themen 8
B Long in einen Double umwandeln und im Label anzeigen Allgemeine Java-Themen 7
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
MoxxiManagarm Ich brauche einen smarten Ansatz Allgemeine Java-Themen 23
J Gebautes Jar per Maven in einen Docker Container kopieren Allgemeine Java-Themen 0
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
E Einen Bot Programmieren. Allgemeine Java-Themen 6
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
P [Webdriver] einen Datensatz signieren Allgemeine Java-Themen 0
R MAC-Adresse eindeutig für einen PC ? Bezug zu Netzwerk, wieso ? Allgemeine Java-Themen 7
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
N Wie öffne ich einen runtergeladadenen Code in IntelliJ Allgemeine Java-Themen 3
R Wie einen ClientBuilder / JarBuilder programmieren? Allgemeine Java-Themen 14
S Input/Output Beste Möglichkeit einen String in einen Datei zu Schreiben Allgemeine Java-Themen 2
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
L Wie programmiert man einen Listener? Allgemeine Java-Themen 1
M Nanosekunden-Pause innerhalb einen Thread-Loops Allgemeine Java-Themen 3
Thallius Wie convertiere ich einen pkcs8 key in einen java lesbaren? Allgemeine Java-Themen 16
M Was braucht man, um einen Java Job zu bekommen? Allgemeine Java-Themen 8
G Substrings in einen String zusammenfassen Allgemeine Java-Themen 5
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
P Zum src Ordner einen Projektes navigieren Allgemeine Java-Themen 8
J Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus Allgemeine Java-Themen 7
MaxG. Swing Wie kann man einen Dateiordner auswählen ? Allgemeine Java-Themen 3
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
KeVoZ_ int Werte in einen String fassen Allgemeine Java-Themen 4
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
S Einen Punkt um den Ursprung drehen Allgemeine Java-Themen 5
Tausendsassa Threads Einen Thread sich selbst schließen lassen Allgemeine Java-Themen 17
M Genaues Bugtracking - jemand einen Vorschlag? Allgemeine Java-Themen 14
L Gibt es in Java einen Property Editor? Allgemeine Java-Themen 2
S Einen übergebenen String kopieren Allgemeine Java-Themen 3
J Wie erschaffe ich einen sicheren Datenaustausch zwischen Thread und Nicht-Threads Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben