Avatar billede havmaage Juniormester
14. juli 2002 - 23:43 Der er 6 kommentarer og
1 løsning

hent text fra Textfield og skriv ud i System.Out

hej!
Jeg er startet med det grafiske i java UHA jeg synes det er en smule uoverskueligt for en gammel VB 5.0 hakker(men det er der vil ikke noget at sige til :-).

Jeg hart hentet lidt kode på nettet jeg sidder og leger med.

Som det kan ses oprettes der en label to knapper og et textfelt i dette program.
Jeg vil gerne have at når der klikkes på knappenm bottom så skrives indholdet af Te ud i dos

Dette er en af de varianter jeg har forsøgt mig med.

Jeg er dog nbået til at jeg kan smide indholdet ind i en String således

String tekst = Te.GetText();

Men det er mere hvor i koden jeg skal placere disse ting.
Det skulle gerne ende med at det bliver en mini gui med 3 tekst felter og en ok knap. med db access, så der kan indskrives og hentes data fra en database. Det er iorden mangler bare det grafiske . 

public FirstAppl(String lab) {
    super(lab);
    setLayout(new GridLayout(4,1));
    JButton top = new JButton("Top");
    top.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        System.out.println("top");
      }
    });
    JButton bottom = new JButton("Bottom");
    bottom.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        System.out.println(Te.getText());
     
     
      }
    });
    add(new JLabel("Swing Components are like AWT 1.1"));
    add(top);
    add(bottom);
    TextField Te= new TextField();
    Te.setText("DEtte er tesjt");
   
add(Te); 
 
 
 
 
  }

  public static void main(String s[]) {
    FirstAppl frame = new FirstAppl("First Swing Application");
    frame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {System.exit(0);}
    });

    frame.setSize(WIDTH, HEIGHT);
    frame.show();
  }
}
Avatar billede aslan Nybegynder
14. juli 2002 - 23:50 #1
bottom.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
      if( e.getSource() == bottom )
      {   
        System.out.println(Te.getText());
      }
     
      }
    });
Avatar billede havmaage Juniormester
15. juli 2002 - 00:00 #2
Det kan være det er et dump spørgsmål, men hvor skal denne kode sættes ind.

hvis jeg sætter den ind her:
JButton bottom = new JButton("Bottom");
    bottom.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

if( e.getSource() == Bottom )
      {   
        System.out.println(Te.getText());
      }
     
      }
    });
    Fejler det under compilering med følgende:

C:\java stuff\sampledir\FirstAppl.java:30: cannot resolve symbol
symbol: variable Bottom 
if( e.getSource() == Bottom )
                    ^
C:\java stuff\sampledir\FirstAppl.java:32: cannot resolve symbol
symbol: variable Te 
        System.out.println(Te.getText());
                          ^
2 errors

Process completed.
Avatar billede aslan Nybegynder
15. juli 2002 - 00:03 #3
if( e.getSource() == Bottom ) skal være if( e.getSource() == bottom )

    TextField Te= new TextField();
    Te.setText("DEtte er tesjt");

skal skabes ovenover denne metode...
Avatar billede havmaage Juniormester
15. juli 2002 - 00:24 #4
hmmmm det forstår jeg ikke helt jeg bliver ved at få fejl:

--------------------Configuration: JDK version 1.3.1_04 <Default>--------------------
C:\java stuff\sampledir\FirstAppl.java:43: local variable bottom is accessed from within inner class; needs to be declared final
    if( e.getSource() == bottom )
                            ^
C:\java stuff\sampledir\FirstAppl.java:45: local variable Te is accessed from within inner class; needs to be declared final
        System.out.println(Te.getText());
                          ^
2 errors

Process completed.



Her er hele koden som den ser ud ?

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

public class FirstAppl extends Frame {
  // The initial width and height of the frame
  public static int WIDTH = 250;
  public static int HEIGHT = 130;

  public FirstAppl(String lab) {
    super(lab);
    setLayout(new GridLayout(4,1));
    add(new JLabel("Swing Components are like AWT 1.1"));
    JButton top = new JButton("Top");
    top.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    System.out.println("top");
      }
    });
    TextField Te= new TextField();
    Te.setText("DEtte er tesjt");
    add(Te);
 
     
    JButton bottom = new JButton("Bottom");
 
    add(top);
    add(bottom);
 
   


  bottom.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
       
    if( e.getSource() == bottom )
      {   
        System.out.println(Te.getText());
      }
     
      }
    });
 
  }

  public static void main(String s[]) {
    FirstAppl frame = new FirstAppl("First Swing Application");
    frame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {System.exit(0);}
    });

    frame.setSize(WIDTH, HEIGHT);
    frame.show();
   
  }
 
}
Avatar billede aslan Nybegynder
15. juli 2002 - 00:39 #5
Det her virker , men det er en meget sjusket måde du har sat det hele op...


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

public class FirstAppl extends Frame {
  // The initial width and height of the frame
  public static int WIDTH = 250;
  public static int HEIGHT = 130;

  public FirstAppl(String lab) {
    super(lab);
    setLayout(new GridLayout(4,1));
    add(new JLabel("Swing Components are like AWT 1.1"));
    JButton top = new JButton("Top");
    top.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    System.out.println("top");
      }
    });
    final TextField Te= new TextField();
    Te.setText("DEtte er tesjt");
    add(Te);


    final JButton bottom = new JButton("Bottom");

    add(top);
    add(bottom);

  bottom.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

    if( e.getSource() == bottom )
      {
        System.out.println(Te.getText());
      }

      }
    });

  }

  public static void main(String s[]) {


    FirstAppl frame = new FirstAppl("First Swing Application");
    frame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {System.exit(0);}
    });

    frame.setSize(WIDTH, HEIGHT);
    frame.show();

  }

}
Avatar billede aslan Nybegynder
18. juli 2002 - 20:50 #6
Sig mig fik du det op og køre?
Avatar billede havmaage Juniormester
18. juli 2002 - 21:03 #7
Ja det gjore jeg faktisk :-) ,meeen det volder mig nogle andre problemer når jeg prøver at hente en record ind fra en access database og sætte det i et textfield. men det har jo ikke noget med dette spørgsmål at gøre så du får lige dine point og tak for hjælpen.
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