Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #30542
| Path | csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Knute Johnson <eternal@knutejohnson.com> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Problem with JavaFX ChangeListener? |
| Date | Thu, 11 Dec 2014 15:08:08 -0800 |
| Organization | A noiseless patient Spider |
| Lines | 93 |
| Message-ID | <m6d842$5st$1@dont-email.me> (permalink) |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8; format=flowed |
| Content-Transfer-Encoding | 7bit |
| Injection-Date | Thu, 11 Dec 2014 23:07:46 +0000 (UTC) |
| Injection-Info | mx02.eternal-september.org; posting-host="aba33539224e5c782fe0c4053f7756fd"; logging-data="6045"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1++K4mwdQUpwjFYLqNqFbZu" |
| User-Agent | Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
| Cancel-Lock | sha1:qLUi+hvWxxWrRpgVkq0ioX0eoq8= |
| Xref | csiph.com comp.lang.java.programmer:30542 |
Show key headers only | View raw
I'm trying to teach myself JavaFX and have hit a snag. In the program
below I add a ChangeListener to a TextField. The Java8 method works
fine, adding an anonymous ChangeListener class works fine but I can't
create a class that implements ChangeListener and get it to compile.
The other question I have is why does the ObservableValue require a cast
to StringProperty in both of the working examples and why do I declare
it as <? extends String>?
Thanks,
knute...
import javafx.application.*;
import javafx.beans.*;
import javafx.beans.property.*;
import javafx.beans.value.*;
import javafx.event.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.*;
import java.time.*;
public class test99 extends Application {
public static void main(String... args) {
launch(args);
}
public void start(Stage primaryStage) {
primaryStage.setTitle("test99");
VBox root = new VBox(10);
Scene scene = new Scene(root,320,240);
TextField textField = new TextField();
textField.setOnAction(ae ->
System.out.println(textField.getText()));
textField.textProperty().addListener((observable,oldValue,newValue) -> {
((StringProperty)observable).setValue(newValue.toLowerCase());
});
/*
class LengthListener<String> implements ChangeListener<String> {
private final int length;
public LengthListener(int length) {
this.length = length;
}
@Override public void changed(
ObservableValue<? extends String> observable,
String oldValue,String newValue) {
if (newValue.length() > length)
((StringProperty)observable).setValue(
newValue.substring(0,length));
}
}
textField.textProperty().addListener(new LengthListener(4));
*/
textField.textProperty().addListener((observable,oldValue,newValue) -> {
((StringProperty)observable).setValue(newValue.length() > 4 ?
newValue.substring(0,4) : newValue);
});
/*
textField.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String>
observable,
String oldValue,String newValue) {
((StringProperty)observable).setValue(newValue.length()
> 4 ?
newValue.substring(0,4) : newValue);
}
});
*/
textField.setText("Hello World!");
root.getChildren().add(textField);
primaryStage.setScene(scene);
primaryStage.show();
}
}
--
Knute Johnson
Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar | Unroll thread
Problem with JavaFX ChangeListener? Knute Johnson <eternal@knutejohnson.com> - 2014-12-11 15:08 -0800
Re: Problem with JavaFX ChangeListener? Arne Vajhøj <arne@vajhoej.dk> - 2014-12-11 18:36 -0500
Re: Problem with JavaFX ChangeListener? Knute Johnson <eternal@knutejohnson.com> - 2014-12-11 15:53 -0800
Re: Problem with JavaFX ChangeListener? Arne Vajhøj <arne@vajhoej.dk> - 2014-12-11 21:24 -0500
Re: Problem with JavaFX ChangeListener? Knute Johnson <eternal@knutejohnson.com> - 2014-12-11 18:31 -0800
Re: Problem with JavaFX ChangeListener? Roedy Green <see_website@mindprod.com.invalid> - 2014-12-31 18:23 -0800
Re: Problem with JavaFX ChangeListener? Joerg Meier <joergmmeier@arcor.de> - 2015-01-01 12:39 +0100
csiph-web