Avatar billede Simon Praktikant
26. august 2005 - 16:07 Der er 11 kommentarer og
1 løsning

Komponenter kan pludselig ikke editeres

Hej, jeg har en applet, hvorpå jeg har componenter af følgende typer:
JTable i en JScrollPane
JEditorPane
JFormattedTextField

Somme tider kan jeg ikke markere eller ændre teksten i disse komponenter. Så  minimerer, og maksimerer mit browservindue, og jeg kan igen editere teksten.

Jeg har prøvet at kalde Invalidate, Validate og Update men uden held. Måske har jeg heller ikke gjort det rigtigt.

Hvad gør jeg for at sikre mig at brugeren kan indtaste noget i komponenterne?
Avatar billede _carsten Nybegynder
26. august 2005 - 18:16 #1
I princippet ingenting, så vi skal nok se noget kode førend vi kan komme videre.
Avatar billede Simon Praktikant
29. august 2005 - 17:18 #2
jeg har fundet ud af at der sker når jeg håndterer et musetast et sted, med metoden:

public void mouseClicked(MouseEvent event) 
{
....
}

herinde bliver der forespurgt en masse data, og tegnet data.
Forsøg har vist at hvis jeg kommenterer al koden i mouseClicked ud så virker min applet. hvis jeg kommenterer noget af koden ud, virker appleten somme tider. det er bestemt ikke konsekvent

Kunne det tænkes at der sker et eller andet hvis jeg er inde i mouseClicked for længe? måske lidt ligesom man ikke må være for længe i en interruptroutine???
Avatar billede _carsten Nybegynder
29. august 2005 - 21:19 #3
Umiddelbart - Nej, men vi har jo ikke set noget kode endnu, så dit gæt er lige så godt som mit.
Avatar billede Simon Praktikant
30. august 2005 - 09:41 #4
Nedenfor ses min kode, men den er ret omfattende. Når der trykkes musen kaldes funktionen mouseClicked(...)
Denne funktion laver en ParameterSelecter, som er en klasse der er en dialog.
Når dialogen afsluttes hentes værdier ud af den i strengene buttonPressedReturn, parameterNameReturn, parameterIDReturn, osv.

       
mouseClicked() kalder  requestData()
requestData()  kalder  paramTransf.GetLogDataString(...)  // henter data vi en socket
requestData()  kalder  paramTransf.ParseLogData(logDataString, emptyParamArray);    // parser data, og returnerer dem i et object. 

/****************************************************************/
public void mouseClicked(MouseEvent event) 
    {
        String buttonPressedReturn = new String("");
        String parameterNameReturn = new String("");
        String parameterIDReturn = new String("");
        Float min_skaleringReturn = new Float(0);
        Float max_skaleringReturn = new Float(0);
        String ParameterTypeListIndexReturn;
       
        int selectedRow = 0;// = table.rowAtPoint(event.getPoint());
        try
        {
            // hvis der trykkes i kolonne 0 i tabellen
            if(table.columnAtPoint(event.getPoint()) == 0)
            {
                selectedRow = table.rowAtPoint(event.getPoint());

                ParameterSelecter myPS =  new ParameterSelecter(parameterTypeList);
                ParameterType paramType = (ParameterType)(parameterTypeList.get(myPS.ParameterTypeListIndex));
               
                buttonPressedReturn = myPS.buttonPressed;
                parameterNameReturn = paramType.parameterName;
                parameterIDReturn  = paramType.parameterID;
                min_skaleringReturn = paramType.min_skalering;
                max_skaleringReturn = paramType.max_skalering;


            }
        }
        catch(Exception e)
        {
            JOptionPane.showMessageDialog(new JFrame(),e.getStackTrace(),"error",JOptionPane.INFORMATION_MESSAGE);
        }
        try
        {
                    data[selectedRow][0] = parameterNameReturn;
                    data[selectedRow][1] = parameterIDReturn;
                    data[selectedRow][2] = min_skaleringReturn.toString();
                    data[selectedRow][3] = max_skaleringReturn.toString();
                   
                    table.repaint();
                 
                    requestData();
               
       
        }
        catch(Exception e)
        {
        }
    }
/*******************************************************************************************************/ 


    public void requestData()
    {
      int antalDataPunkter = 100;
     
      // tidspunkter hentes fra editBoxe...
      Pattern p = Pattern.compile("\\d\\d\\d\\d/\\d\\d/\\d\\d-\\d\\d:\\d\\d|\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d");
     
     
      String startTid = this.EP_startTime.getText();  //"2005/06/29-07:17";
      String stopTid = this.EP_endTime.getText();      //"2005/06/29-08:22";

      Matcher m = p.matcher(startTid);
        // ... og hvis ikke der er nogle, så indsættes default tidspunkter
      if(! m.find())
      {
            startTid = new String("2005/06/29-07:17");
      }
      m = p.matcher(stopTid);
      if(! m.find())
      {
            stopTid = new String("2005/06/29-10:22");
      }             

     
      int logType = 0;

      // forige chart fjernes, og parametre slettes
      this.remove(mychart);
      Parameter.ClearAll();

      // nyt parameterarray oprettes
      Parameter[] emptyParamArray;
      emptyParamArray = new Parameter[10];

      // nyt tomt parameter array udfyldes med parameter-id'er således
      // at programmet senere ved hvilke parameter-værdier der skal indsættes
      for(int paramCnt = 0; paramCnt < 10; paramCnt++)
      {
          // hvis der står et ID i feltet
          if(data[paramCnt][0].length()!=0)
          {
                // Opret parameter, og indsæt værdier fra tabel heri.
                emptyParamArray[paramCnt] = new Parameter();
                emptyParamArray[paramCnt].color = Parameter.colorSheme[paramCnt];
                emptyParamArray[paramCnt].SetSkaling(
                                    Float.parseFloat(data[paramCnt][2].toString()),
                                    Float.parseFloat(data[paramCnt][3].toString()));
                emptyParamArray[paramCnt].SetNameAndID(data[paramCnt][0], data[paramCnt][1]);
          }
          else
          {
                emptyParamArray[paramCnt]=null;
          }
      }
      // datoformat: 2005/12/30-22:54

      // beregn antal parametre som er valgt.
      // Hvis der er valgt en eller flere parametre, så hent data, ellers skriv fejlmeddelelse
      int numberOfParameters = 0;
      for(int cnt=0;cnt<emptyParamArray.length;cnt++)
      {
          if(emptyParamArray[cnt] != null)
                numberOfParameters ++;
      }
 
     
       
       
        // hvis der er valgt parametre..
      if(numberOfParameters != 0)
      {

          commonEmptyParamArray = emptyParamArray;
          String logDataString;


          String myIP = new String("");
          try
          {
            myIP= this.getCodeBase().getHost();
          }
          catch(Exception exc)
          {
          }
       
          if(myIP.length() == 0)
          {
              myIP = defaultIP;
          }
          // parameter data forespørges på server, og en streng returneres
          logDataString = paramTransf.GetLogDataString(myIP
                                              ,"se"            // language
                                              , startTid              // starttid
                                              , stopTid                // stoptid
                                              , emptyParamArray        // array med parametre som vi er interesserede i
                                              , type                  // "0"// typen
                                              , antalDataPunkter);    // antallet af datapunkter

          // strengen parses, og resultat returneres i parameter som er af typen Parameter[]
          ParsedParameters parameterObject = paramTransf.ParseLogData(logDataString, emptyParamArray);
          parameter = parameterObject.parameter;
         
          // vis meddelelse fra log-server i statusfelt
          statusText = parameterObject.status;
          drawStatusField();
         
          // vis dialog med meddelelse fra log-server
          if(parameterObject.dialog.length() > 0)
          {
                JOptionPane.showMessageDialog(new JFrame(),parameterObject.dialog,"Dialog",JOptionPane.INFORMATION_MESSAGE);
          }
         
         
          mychart = new Chart(parameter,chartheight,chartwidth,numberOfHorisontalLines,0,backgroundColor, chartBackgroundColor);
          add(mychart);
         
          mychart.addActionListener(this);
          if(Parameter.timeStrings.length > 0)
          {
              String startTime = Parameter.timeStrings[0];
              String stopTime = Parameter.timeStrings[Parameter.noOfVals-1];
              EP_startTime.setText(startTime);
              EP_endTime.setText(stopTime);
          }


          mychart.setBounds(chartleft,chartup, chartwidth, chartheight);
          mychart.repaint();
         
      }
      else
      {
          JOptionPane.showMessageDialog(new JFrame(),"...select at least one parameter by clicking the first column in the table.","No parameters selected...",JOptionPane.INFORMATION_MESSAGE);
      }
   
       
       
    }

/*******************************************************************************************************/
    static public ParsedParameters ParseLogData(String response, Parameter[] parameterArray)
    {
        ParsedParameters returnObject = new ParsedParameters();
        // LogData      := <!--LogData antalDP antalPID dialog status LogDataListe null -->
        // LogDataListe := {tid epoch valueP0 valueP1 ... valueP9}*
        // tid          := nultermineret streng
        // epoch        := nultermineret streng, bruges ikke
        // Value0-9    := nultermineret streng, skal konverteres til float
        // antalDP      := nultermineret streng,
        // antalPID    := nultermineret streng, bruges ikke
        // dialog      := nultermineret streng, besked der udskrives i dialog
        // status      := nultermineret streng, besked der udskrives i status-felt             
        // null        := 0x00
               
        int ptr=0;

        String tid, epoch, antalDP, antalPID;//, dialog, status;
     
        // hvis strengen er tom returneres straks
        if(response.length() == 0)
        {
            returnObject.parameter = parameterArray;
            return returnObject;
            //return parameterArray;
        }
   
        ptr = response.indexOf("<!--LogData") + "<!--LogData".length();
     
        int parameterTidIndex=0;
        char seperator = 0x00;       
        antalDP = new String(response.substring(ptr, response.indexOf(seperator, ptr)));
        ptr +=(antalDP.length()+1);
        antalPID = new String(response.substring(ptr, response.indexOf(seperator, ptr)));
        ptr +=(antalPID.length()+1);
        returnObject.dialog = new String(response.substring(ptr, response.indexOf(seperator, ptr)));
        ptr +=(returnObject.dialog.length()+1);
        returnObject.status = new String(response.substring(ptr, response.indexOf(seperator, ptr)));
        ptr +=(returnObject.status.length()+1);
 
        // sætter antal tidspunkter for alle parameter-objecter.
        // denne metode instantieres også arrays i objekterne til at have antal-tidspunkter-størrelse
        int int_antalDP = Integer.parseInt(antalDP);
        for(int paramCnt = 0; paramCnt< 10; paramCnt++)
        {
              if(parameterArray[paramCnt] != null)
              {
                    parameterArray[paramCnt].SetNumberOfVals(int_antalDP);
              }
        }
       
        // Der parses tidspunkt for tidspunkt       
        // parsing: LogDataListe := {tid epoch valueP0 valueP1 ... valueP9}*
       
        /*Der modtages et antal værdier(antalDP) for et antal parametre(antalPID) i en streng. Værdierne
        i strengen er adskilt af en seperator. Der skannes frem til næste seperator.
        Først hentes der tid og epoch. Herefter hentes der et antal værdier(antalDP).
       
        Parametrene med værdier skal placeres i parameterArray på de rigtige steder.
        Eksempelvis kan der være 3 parametre med tilhørende data i inputStrengen, hvor den første parameter
        skal indsættes på plads 3 i parameterArray, den næste på plads 4 og den sidste på plads 8.
       
        Hver gang en værdi hentes placeres den det rigtige sted.
        */
        try
        {
       
        // skan alle tidspunkter igennem

        int intDP = Integer.parseInt(antalDP);
        while(response.charAt(ptr) != seperator)
        {
            // hent tid og epoch, dog bruges kun tid
            tid = new String(response.substring(ptr, response.indexOf(seperator, ptr)));
            ptr +=(tid.length()+1);
            epoch = new String(response.substring(ptr, response.indexOf(seperator, ptr)));
            ptr +=(epoch.length()+1);
           
            // tidspunkt indsættes...
            if(Parameter.timeStrings != null)
            {
                Parameter.timeStrings[parameterTidIndex]=tid;
            }
         
            // Der hentes alle værdier ud af strengen
           
            for(int inputParameterValueCnt=0; inputParameterValueCnt < Integer.parseInt(antalPID); inputParameterValueCnt++)
            {
              String value = new String();
              int index;
              index = response.indexOf(seperator, ptr);
              value = response.substring(ptr, index);

              ptr += (value.length()+1);

              ptr = ptr;
              // hvis der er plads gemmes input værdien i parameterArray
              for(int paramCnt=0;paramCnt < 10;paramCnt++)
              {
                  if(parameterArray[paramCnt]!= null)
                  {
                        if(parameterArray[paramCnt].parameterFloats[parameterTidIndex] == null)
                        {
                            if(parameterTidIndex == 0)
                            {
                                try // hvis epoch tiden er for stor eller null indsættes 0 som default
                                {
                                    Parameter.epochStart = Integer.parseInt(epoch);
                                }
                                catch(Exception exc){Parameter.epochStart = 0;}
                            }
                            else if(parameterTidIndex == (intDP-1))
                            {
                                try // hvis epoch tiden er for stor eller null indsættes 0 som default
                                {
                                    Parameter.epochStop = Integer.parseInt(epoch);
                                }
                                catch(Exception exc){Parameter.epochStop = 0;}
                            }
                            if(value.compareTo("nan") == 0)
                            {
                                parameterArray[paramCnt].parameterFloats[parameterTidIndex] = new Float(0);
                            }
                            else
                            {
                                float tempfloat = Float.parseFloat(value);
                                Float tempFloat = new Float(tempfloat);
                                parameterArray[paramCnt].parameterFloats[parameterTidIndex] = tempFloat;
                            }
                            break;
                        }
                  }
              }
            }
           
            parameterTidIndex++;
        }

        }
        catch(Exception exc)
        {
            }
        returnObject.parameter = parameterArray;
        return returnObject;
    }
    /*********************************************************************************************/
    public String GetLogDataString(String myIP, String language, String startTime, String stopTime, Parameter parameter[], String type, int Npt)
    {
        Npt_temp = Npt;
   
        String paramterRequests = new String();
        for(int paramCnt = 0; paramCnt < 10; paramCnt++)
        {
           
            if(parameter[paramCnt]!=null)
                if(parameter[paramCnt].parameterID!=null)
                    paramterRequests += "?P"+(new Integer(paramCnt)).toString()+"="+parameter[paramCnt].parameterID;
        }

        String request = "GET /cgi/logdata"
                + "?Language=lang."+language
                + "?GetLogData?Type="+type
                + paramterRequests
                + "?Start="+startTime
                + "?Stop="+stopTime
                + "?Npt="+ (new Integer(Npt)).toString()
                +" HTTP/1.1 \r\n\r\n";
        String response = "";
           
        Socket mySocket = null;
            BufferedWriter hostOut = null;
            InputStreamReader hostIn = null;
        try
        {

            mySocket = new Socket(myIP,80);
            mySocket.setSoTimeout(10000);

            hostOut = new BufferedWriter(new OutputStreamWriter(mySocket.getOutputStream(),"UTF-8"));
            hostIn = new InputStreamReader(mySocket.getInputStream(),"UTF-8");

            hostOut.write(request);
            hostOut.flush();
           
   
            int numberOfBytesToReadAhead = 1000;
            char[] c = new char[numberOfBytesToReadAhead];
           
            int n;
         
            while((n = hostIn.read(c,0,numberOfBytesToReadAhead)) >= 0)
            {
                response += new String(c,0, n);
                someData = response;
            };       
            hostIn.close();
            hostOut.close();
            mySocket.close();
            }
            catch (IOException e)
            {
                response = response;
            }
            finally
            {
                return response;
            }

    }
Avatar billede Simon Praktikant
30. august 2005 - 10:40 #5
jeg har fundet ud af at det er ikke nødvendigt at minimere og maksimere, Det er også tilstrækkeligt at trykke på at andet vindue. Eller at åbne og lukke en menu i browseren.

Hvilke kald bliver foretaget ved åben luk menu i browser, samt ved at fokusere på et andet vindue, og gå tilbage igen?

jeg har uden held prøvet at kalde følgende:
          this.invalidate();
        this.validate();
        this.validateTree();
        this.setFocusable(false);
        this.setFocusable(true);

        this.doLayout();
      this.repaint();
Avatar billede Simon Praktikant
30. august 2005 - 10:41 #6
Hvis jeg opretter en dialog, som brugeren skal lukke, lige før MouseClicked() forlades kan jeg også godt indtaste værdier i felterne.
Avatar billede Simon Praktikant
30. august 2005 - 11:27 #7
Jeg tror faktisk at jeg har en fejl i den klasse der danner dialog, hvor input hentes fra bruger, før der efterspørges data over net.
Den ser ud som følger:

package swegon_web_chart2;
import javax.swing.JButton;
import java.awt.*;
import java.applet.*;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
import java.awt.event.ActionEvent;
//import java.awt.event.WindowListener;
import java.awt.event.ComponentListener;
import java.awt.event.ComponentEvent;
import javax.swing.JScrollPane;
import java.applet.Applet;
import java.awt.Graphics;
import javax.swing.JTable;
import javax.swing.table.JTableHeader;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.table.TableColumn;
import javax.swing.JEditorPane;
import java.awt.event.MouseEvent;

import javax.swing.JScrollPane;

import java.awt.Component;
import java.awt.Color;
import javax.swing.JEditorPane;

import javax.swing.table.DefaultTableCellRenderer;


import javax.swing.JComboBox;

import java.util.ArrayList;
import java.util.List;


public class ParameterSelecter  extends javax.swing.JDialog implements ActionListener

{
   

    JButton selectButton;
    JButton clearButton;
    JButton cancelButton;
    JLabel label;

   
    JTable ParamSelTable;
   
    List parameterTypeList;
    //String parameterID="";
    int ParameterTypeListIndex=-1;
    String buttonPressed="";
    public ParameterSelecter(List parameterTypeList) {
       

        this.setModal(true);
        this.parameterTypeList = parameterTypeList;
        this.getContentPane().setLayout(null);
       
       
        label = new JLabel("Selcect parameter");
        this.getContentPane().add(label);
        label.setBounds(10,10, 130,20);
       
       
        selectButton = new JButton("Select");
        this.getContentPane().add(selectButton);
        selectButton.setBounds(600,10, 100,30);
        selectButton.addActionListener(this);
       
        cancelButton = new JButton("Cancel");
        this.getContentPane().add(cancelButton);
        cancelButton.setBounds(600,45, 100,30);
        cancelButton.addActionListener(this);
       
        clearButton = new JButton("Clear");
        this.getContentPane().add(clearButton);
        clearButton.setBounds(600,80, 100,30);
        clearButton.addActionListener(this);
       
      Object columnNames[];
      columnNames = new Object[4];
      columnNames[0] = "Name";
      columnNames[1] = "ID";
      columnNames[2] = "Min";
      columnNames[3] = "Max";

       
      String data[][];
      data = new String[100][4];
      for(int rowCnt=0;rowCnt < parameterTypeList.size();rowCnt++)
      // for(int rowCnt=0;rowCnt < Parameter.noOfParams;rowCnt++)
      {
          ParameterType tempType = (ParameterType)parameterTypeList.get(rowCnt);
   
                 
          data[rowCnt][0] = tempType.parameterName; 
          data[rowCnt][1] = tempType.parameterID;
          data[rowCnt][2] = tempType.min_skalering.toString();
          data[rowCnt][3] = tempType.max_skalering.toString();
      }

     
      ParamSelTable = new JTable(data, columnNames);

      JScrollPane myScrollPane = new JScrollPane(ParamSelTable);
     
      // angiver kolonnernes størrelse
      TableColumn col_0 = ParamSelTable.getColumnModel().getColumn(0);
      col_0.setPreferredWidth(200);
      TableColumn col_1 = ParamSelTable.getColumnModel().getColumn(1);
      col_1.setPreferredWidth(60); 
      TableColumn col_2 = ParamSelTable.getColumnModel().getColumn(2);
      col_2.setPreferredWidth(70);
      TableColumn col_3 = ParamSelTable.getColumnModel().getColumn(3);
      col_3.setPreferredWidth(70);   
     
      myScrollPane.setBounds(50,40, 500,300);
     
    //  add(myScrollPane);
        this.getContentPane().add(myScrollPane);
         
       
    ///////////////   
     
        this.setSize(730, 400);
        this.setLocation(150,150);
       
        this.setVisible(true);
       
    }
   
   
    //  public void paint(Graphics g){}
   
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == selectButton) {
            buttonPressed = "select";
            ParameterTypeListIndex = ParamSelTable.getSelectedRow();
            //ParameterTypeListIndex = myCombo.getSelectedIndex();
            this.hide();
        } else if(e.getSource() == cancelButton) {
            ParameterTypeListIndex=-1;
            buttonPressed = "cancel";
            this.hide();
        } else if(e.getSource() == clearButton) {
            ParameterTypeListIndex=-1;
            buttonPressed = "clear";
            this.hide();
        }
    }
   
}
Avatar billede Simon Praktikant
30. august 2005 - 14:41 #8
hvis jeg kalder
myPS.dispose();
når dialogen er blevet lukket virker det i 8 ud af 10 tilfælde.
Avatar billede _carsten Nybegynder
30. august 2005 - 21:22 #9
Du har ret, din kode er lidt uoverskuelig, men...

Her er en løsning som vil få din dialog til at fungere og som
sansynligvis også løser resten af dine prooblemer

Tilføj følgende metoder til din  ParameterSelecter

    public JButton getButton(){
      if(whichOne.equals("Cancel"))
          return cancelButton;

      if(whichOne.equals("Select"))
          return selectButton;

      if(whichOne.equals("Clear"))
          return clearButton;
    }


    public int getParameterTypeListIndex(){
      ParameterTypeListIndex = ParamSelTable.getSelectedRow();
      return ParameterTypeListIndex;
    }

    public void setParameterTypeListIndex(int i){
      ParameterTypeListIndex = i;
    }

    FJERN:          this.setVisible(true);  fra ParameterSelecter
    FJERN DIN IMPLEMENTATION AF ACTIONLISTENER
   
   
   
   
   
   

// FLYT DIN actionPerformed() over i klassen med mouseClicked() OG TILRET

    //......... kode
    //..........
   
    JButton clear, select, cancel;
   
   
    ParameterSelecter myPS =  new ParameterSelecter(parameterTypeList);
   
    cancel = myPS.getButton("Cancel");
    cancel.addActionListener(this);
   
    select = myPS.getButton("Select");
    select.addActionListener(this);
   
    clear = myPS.getButton("Clear");
    clear.addActionListener(this);
   
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == select) {
            ParameterTypeListIndex = myPS.getParameterTypeListIndex();
            myPS.dispose();
        } else if(e.getSource() == cancel) {
            myPS.setParameterTypeListIndex(-1);
            myPS.dispose();
        } else if(e.getSource() == clear) {
            myPS.setParameterTypeListIndex(-1);
            myPS.dispose();
        }
       
        // HAR DU BEHOV FOR AT FLERE VÆRDIER FRA ParameterSelecter
        // SÅ BRUG REFERENCEN myPS OG LAV GET METODER I ParameterSelecter
        // TIL AT HENTE DISSE
    }





HEFTER TILRETTER DU MOUSECLICKED()

    // hvis der trykkes i kolonne 0 i tabellen
    if(table.columnAtPoint(event.getPoint()) == 0)
    {
    selectedRow = table.rowAtPoint(event.getPoint());

    ParameterSelecter myPS =  new ParameterSelecter(parameterTypeList);

    myPS.setVisible(true);
       
        // DER AFVIKLES IKKE MERE KODE FØREND DIALOGEN LUKKES.
    // JEG HAR IKKE SAT MIG IND HVAD DIN EFTERFØLGENDE KODE GØR !

    ParameterType paramType = (ParameterType)(parameterTypeList.get(myPS.ParameterTypeListIndex));

    buttonPressedReturn = myPS.buttonPressed;
    parameterNameReturn = paramType.parameterName;
    parameterIDReturn  = paramType.parameterID;
    min_skaleringReturn = paramType.min_skalering;
    max_skaleringReturn = paramType.max_skalering;


    }
Avatar billede _carsten Nybegynder
31. august 2005 - 07:58 #10
HEFTER TILRETTER DU MOUSECLICKED()

    // hvis der trykkes i kolonne 0 i tabellen
    if(table.columnAtPoint(event.getPoint()) == 0)
    {
    selectedRow = table.rowAtPoint(event.getPoint());

    // En lille fejl fra min side, nedenstående linie skal selvfølgelig ikke være der
    //ParameterSelecter myPS =  new ParameterSelecter(parameterTypeList);

    myPS.setVisible(true);
       
        // DER AFVIKLES IKKE MERE KODE FØREND DIALOGEN LUKKES.
    // JEG HAR IKKE SAT MIG IND HVAD DIN EFTERFØLGENDE KODE GØR !

    ParameterType paramType = (ParameterType)(parameterTypeList.get(myPS.ParameterTypeListIndex));

    buttonPressedReturn = myPS.buttonPressed;
    parameterNameReturn = paramType.parameterName;
    parameterIDReturn  = paramType.parameterID;
    min_skaleringReturn = paramType.min_skalering;
    max_skaleringReturn = paramType.max_skalering;


    }
Avatar billede Simon Praktikant
16. august 2006 - 09:36 #11
Hejsa, tak for hjælpen, Smid svar og point er dine. Undskyld den lange tid.
Avatar billede _carsten Nybegynder
16. august 2006 - 10:20 #12
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester