Avatar billede geogun Nybegynder
19. november 2012 - 12:38 Der er 2 kommentarer

Få et Java Projekt til at vente på en knap i en Class

Hej

Jeg har lavet en række forskellige Class´
Det første er en bruger flade hvor der skal intastest en række værdier..  Der har jeg denne komando efter at have opsat hele brugerfladen men en knap (knap1) i bunden.

knap1.addActionListener(new ActionListener(){       
/*Giver knapperne funktionen der er angivet i ActionPerformed */
           
public void actionPerformed(ActionEvent e){     

/*Henter tekst fra felter*/
    String s1 = felt1.getText();    String s2 = felt2.getText();    String s3 = felt3.getText();


Når jeg så samler den i min main profil, køre den bare alle de ting jeg har sent der ind unden at vende på de intastede værdier
Bruger her denne kode


public class Algoritme {

    /**
    * @param args
    * @throws IOException
    */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
       
        InputInterface InputInterfaceObject  = new InputInterface();        
/*Viser brugerflader og skriver en fil (inputdata.txt) med det indtastede */
        InputInterfaceObject.Interface();
   
       
        wirteToDeepdraw wirteToDeepdrawObject = new wirteToDeepdraw();       
/*Indsætter data indtastet i brugerfladen i deepdraw.k filen */
        wirteToDeepdrawObject.ToDeepdraw();
Avatar billede arne_v Ekspert
20. november 2012 - 00:55 #1
Det er umuligt at fejlsoege de kode fragmenter du har postet.

Proev og post noget komplet kode som viser problemet.
Avatar billede geogun Nybegynder
20. november 2012 - 09:07 #2
import java.awt.ComponentOrientation;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

import javax.swing.*;

public class InputInterface {
   
    public void Interface() {
   
        JFrame frame = new JFrame("Input");                     /*Oprette boksen med titel*/
        frame.setVisible(true);                                
/*Gør boksen synlig*/
        frame.setSize(650,350);                                   
/*Diffiner størrelsen på boksen (Bredde, Højde)*/
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
/*Lukker boksen efter brug*/
       
        JPanel panel=new JPanel();                                /*Opretter panel*/   
        panel.setLayout (new GridLayout(0, 4, 5, 10));            /*Indeler gitter (rækker,koloner hspace, vspace)*/
                                                               
        JLabel labelmat=new JLabel("Materiale data.");    
        JLabel space11=new JLabel("");     JLabel space12=new JLabel("");    
JLabel space13=new JLabel("");       
        JLabel label1=new JLabel("Indtast E-modul (I MPa):");            /*Diffiner labels, knapper osv*/
        final JTextField felt1 = new JTextField("2.100E+5");
        JLabel label2=new JLabel("Indtast densitet (I ton/mm^3:");
        final JTextField felt2 = new JTextField("7.85E-9");
        JLabel label3=new JLabel("Poissons forhold:");       
        final JTextField felt3 = new JTextField("0.3");
        JLabel label4=new JLabel("Indtast deformationshærdnings koefficienten K (I MPa):");       
        final JTextField felt4 = new JTextField("500.0");
        JLabel label5=new JLabel("Indtast deformationshærdnings eksponenten n:");       
        final JTextField felt5 = new JTextField("0.25");
        JLabel label6=new JLabel("Indtast plan anisotropien:");       
        final JTextField felt6 = new JTextField("kanIkkeFinde");
       
        JLabel labelpro=new JLabel("Proces data.");    
        JLabel space21=new JLabel("");     JLabel space22=new JLabel("");     JLabel space23=new JLabel("");
        JLabel label7=new JLabel("Indtast modholderkraft (I N):");       
        final JTextField felt7 = new JTextField("-10e3");
        JLabel label8=new JLabel("Træk dybte (I mm):");       
        final JTextField felt8 = new JTextField("-35.0");
        JLabel label9=new JLabel("Friktion mellem værktøjs dele:");       
        final JTextField felt9 = new JTextField("0.10");
        JLabel space1=new JLabel("");
        JLabel space2=new JLabel("");
       
        JLabel space3=new JLabel("");                            /*Laver et tomt felt*/
        JButton knap1=new JButton("Færdig");                    /*Laver knap*/
        JButton knap2=new JButton("cancel");
        JLabel labelok1=new JLabel("");
       
        panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);  /*Panelerne sættes ind på denne måde*/
       
                        /*Ligger label, kanpper osv ind i paneler*/   
        panel.add(labelmat);panel.add(space11);    panel.add(space12);    panel.add(space13);
        panel.add(label1);    panel.add(felt1);    panel.add(label2);    panel.add(felt2);                               
        panel.add(label3);    panel.add(felt3);    panel.add(label4);    panel.add(felt4);
        panel.add(label5);     panel.add(felt5);    panel.add(label6);    panel.add(felt6);
        panel.add(labelpro);panel.add(space21);    panel.add(space22);    panel.add(space23);
        panel.add(label7);    panel.add(felt7);    panel.add(label8);    panel.add(felt8);
        panel.add(label9);    panel.add(felt9);    panel.add(space1);    panel.add(space2);
       
        panel.add(space3);    panel.add(knap1);    panel.add(knap2);    panel.add(labelok1);   
       
       
        frame.add(panel);                                        /*Ligger paneler i boksen*/
       
        ;
        knap1.addActionListener(new ActionListener(){            /*Giver knapperne funktionen der er angivet i ActionPerformed */
           
            public void actionPerformed(ActionEvent e){     

                                                                /*Henter tekst fra felter*/
                String s1 = felt1.getText();    String s2 = felt2.getText();    String s3 = felt3.getText();    String s4 = felt4.getText();                       
                String s5 = felt5.getText();    String s6 = felt6.getText();    String s7 = felt7.getText();    String s8 = felt8.getText();   
                String s9 = felt9.getText();
                   
                String fileName = "inputdata.txt";                            /*Opretter filen*/
               
                try {                                                    /*Spørger om adgang til fil*/
               
                PrintWriter output = new PrintWriter(fileName);         /*Forbereder at der kan skrives i filen og giver navn*/
       
                                                                        /*Det der skrives i filen*/
                    output.println("Alle de intastede data");    output.println(s1);           
                    output.println(s2);                            output.println(s3);
                    output.println(s4);                            output.println(s5);
                    output.println(s6);                            output.println(s7);           
                    output.println(s8);                            output.println(s9);                   
                   
                    output.close();                                        /*Lukker for og sikrer at alle data kommer i filen*/
           
                } catch (FileNotFoundException b) {                        /*Benyttes hvis der ikke kan gives adgang*/
                    b.printStackTrace(); System.out.println("Fejl");
                }
               
                System.out.println("Filen inputdata.txt er nu oprette");                /*Udskriver tekst til skærm*/

                    }    });
        }

}

Det er min class

og men main er

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;


public class Algoritme {

    /**
    * @param args
    * @throws IOException
    */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
       
        InputInterface InputInterfaceObject  = new InputInterface();         /*Viser brugerflader og skriver en fil (inputdata.txt) med det indtastede */
        InputInterfaceObject.Interface();
   
       
        wirteToDeepdraw wirteToDeepdrawObject = new wirteToDeepdraw();        /*Indsætter data indtastet i brugerfladen i deepdraw.k filen */
        wirteToDeepdrawObject.ToDeepdraw();

        runDyna runDynaObject = new runDyna();                                /*Køre prepost og beregne koppen */
        runDynaObject.dyna();
   
    }

}
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