Avatar billede java-duke Nybegynder
24. marts 2002 - 21:40 Der er 3 kommentarer og
1 løsning

JTextField...

Hvordan får man teksten i et JTextField gjort afmærket/blå, så man sletter eller overskriver når man med requestFocus() hopper til et felt, og begynder at skrive(dvs man skal ikke først slette den eksisterende tekst). På samme måde som når man hopper til et tekstfelt her på siden. Jeg benytter JDK 1.3.
Avatar billede erikjacobsen Ekspert
24. marts 2002 - 21:58 #1
Hvis t er dit JTextField siger du bare

  t.setSelectionStart(0);
  t.setSelectionEnd(1000);

evt checker du hvor lang den er, og skriver det i stedet for 1000 :)
Avatar billede carstenknudsen Nybegynder
25. marts 2002 - 10:05 #2
En måde er at skrive kode som her for
dine teksfelter etc
JTextField textfield = new JTextField( "jkjl" );
FocusMarker.addFocusMarker( textfield );
der benytter følgende klasse,
så vil dine tekstfelter blive valgt og
teksten selekteret nå nu tab'er mellem dem:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.event.*;
public class FocusMarker implements FocusListener {
    boolean isJTextComponent;
    private TextComponent tc = null;
    private JTextComponent jtc = null;
    private FocusMarker( TextComponent c ) {
        this.tc = c;
        isJTextComponent = false;
    } // constructor

    private FocusMarker( JTextComponent c ) {
        this.jtc = c;
        isJTextComponent = true;
    } // constructor

    public static void addFocusMarker( TextComponent c ) {
        c.addFocusListener( new FocusMarker( c ) );
    } // addFocusMarker

    public static void addFocusMarker( JTextComponent c ) {
        c.addFocusListener( new FocusMarker( c ) );
    } // addFocusMarker
public void focusGained( FocusEvent fe ) {
        if ( isJTextComponent ) {
            jtc.selectAll();
        } // if
        else {
            tc.selectAll();
        } // else
    } // focusGained

    public void focusLost( FocusEvent fe ) {
        if ( isJTextComponent ) {
            jtc.select( 0, 0 );
        } // if
        else {
            tc.select( 0, 0 );
        } // else
    } // focusLost

} // FocusMarker
Avatar billede java-duke Nybegynder
27. marts 2002 - 09:34 #3
Tak for hjælpen!
Avatar billede erikjacobsen Ekspert
27. marts 2002 - 11:29 #4
Som Carsten antyder er det lidt simplere at skrive

  t.setSelectionAll();
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