JavaFX 2.0 :: Set Callback Which Is Invoked When MenuItem Focused
Apr 14, 2015I would like set a callback which is invoked when a MenuItem is focussed. Is there a way to do so?
View RepliesI would like set a callback which is invoked when a MenuItem is focussed. Is there a way to do so?
View Replieswhen i set a certain menuitem background color, the highlight is losed. What should i do?
View Replies View RelatedI have a JavaFX 8 TableView with multiple columns. The CellValueFactories for the columns are set as:
xxxColumn.setCellValueFactory(new ItemCountFactory(itemName));
where itemName is a String identifying a different item for each column.
ItemCountFactory returns a StringBinding as the cell value, as follows:
public ObservableValue<String> call(CellDataFeatures<Category, String> rowData) {
return new ItemCountBinding(rowData.getValue(), itemName);
}
where
class ItemCountBinding extends StringBinding {
...
protected String computeValue() {
String cellValue = ...;
return cellValue;
}
}
The StringBinding depends on properties of the Category instance for the table row. The correct data is displayed okay, but I have noticed that every time one of the Category properties changes (i.e., every time a cell value changes), ItemCountFactory is called again to create a new StringBinding. I would have expected the Factory to be invoked just once for each cell during initialization, and then the table column would monitor the returned Observable object. Instead it seems to be creating a new Observable object every time the cell value changes. Is this normal, or am I doing something wrong? Same behavior on Java 8u20 and 8u40. If it is not the expected behavior, I will write an example test program; I do not want to post the current full source code.
The table items are set just once, with:
countTable.setItems(categoryList);
where categoryList is of type ObservableList<Category>. The list itself is not modified after being associated with the table; i.e., no rows are added or deleted or replaced.
I am trying to style the TableCell that has focus in a TableView to simulate how Excel does it. Excel uses a white background with a 3px black border which seems to be centered on the nominal cell edges. That is (and this is issue I am having), the border extends outside of the nominal cell boundaries.
My first naive attempt was to to override the CSS for .table-cell as follows:
.table-cell:selected:focused
{
-fx-background-color: white;
-fx-text-fill: -fx-text-base-color;
[Code]....
Doing this fixed problem (1) from the first attempt since this approach tweaks the background colors without affecting overall TableCell size. However, it still puts the black border completely inside the cell. My attempt to set -fx-background-position to a negative value in an attempt to offset the background seems to be ignored.
Having done this before using a Flex AdvancedDataGrid, my solution was to add a layer on top of the grid which renders the focus rectangle. I wonder if I would have to do a similar thing here.
I am developing an app with a Java Servlet backend, and I am trying to get the Async call (AsyncTask - Android Developers) to get my response message Synced with the rest of the client and being able use this information wherever I want. Without a callback method, when from the caller class I use the commands:
ServletPostAsyncTask s = new ServletPostAsyncTask();
s.execute(new Pair<Context, String>(ListViewPrenota.this, "tours"));
Tours ttours = s.tours;
Tour tour = ttours.getTours().get(0);
I receive a NullPointerException pointing to the third line Tours ttours = s.tours;, since the s.execute() method doesn't wait for the rest of the lines to get executed.To solve this I thought about implementing a callback method with interfaces in Java, but I am not sure on how to do it. For example, what class does have to implement the interface, the ServletPostAsyncTask or the caller class?
I have an interceptor (configured with beans.xml from the following link, IBM Specs) on JAX-RS resource method for checking user entitlements. How can i verify if the interceptor (method annotated with @AroundInvoke) is being invoked?
View Replies View RelatedI want the KeyListenerof my JFrame to trigger even when the windows is not focused.
View Replies View RelatedCoding to show pop when focused on any button or text field...i want to show inf pop when we take mouse cursor on any button or field..want coding to be written in action performed in netbeans....
View Replies View RelatedI am developing JavaFX application. I have requirement like that javafx application should be always on top. I could not find an option to make it always on top.
View Replies View RelatedI know that oracle has released a statement saying that JavaFX will eventually replace Swing. What is the advantage of JavaFX? The new format, using "stage" instead of JFrame, seemed weird. Why is this change necessary? What benefit do we reap from JavaFX that Swing does not have?
View Replies View RelatedI am using netbeans scenebuilder and I am a little confused on how I would convert my state capitals java code to a javaFX app.
public class StateCapitals {
Scanner in;
public static void main(String[] args) {
readData();
}
public static void readData() { // Location of file to read
File file = new File("statecapitals.txt");
[code]....
I've been on this for a while and for some reason I just can't seem to get this to work. I know my code is solid, but it won't display my image. I've tried swithcing the image to different directories and also using different image sizes and types. I even used Orcale's guide to display your image, but still no go! All I get is a blank canvas? There are no errors. I'm also running NetbeansIDE 8 that supports JavaFX and I made sure the project is a JavaFX Application project.
All I get is a blank new window, but no images.
Here's my code:
package javafxapplication3;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.image.Image;
[code]....
The homework called for me to display it three times - the first one regular, second resized, and the last one rotated. I even deleted the extra images in hope at least one appears.
I'm working on a project right now in JavaFX, and got stuck. I am drawing a path consisting of CubicCurveTo's and I wonder if there's any way to get the X and Y coordinates from certain parts of that path.
Imagine following a curve (path) with a pencil slowly, and every second you take note the X and Y coordinate. I mean I'm not interested in the control points or start and end points, but the points "in between", preferably at a certain interval.
I've searched for many things online, but have trouble knowing exactly which words to search for. "Paths" often bring up file paths, traversing, coordinates etc. all fail to give me any good results.
I tried to be as specific I could, and I don't think my current code is of any interest in this matter.
(The point of it all is that the path should simulate the path a person walks, and I will store the coordinates in a database for every second).
When i press a button, i want to create a new object in my window(that i have created using scenbuilder, so i have a FXML file and a Controller class). In the window where i have a create button, there are also some textfields where you are supposed to enter name and date.
What i want to do is take the input from the TextField and store is temporally in a String variable, Its this strings i want to take the data from when i create a new object on my View. When i try to do something with the TextFields i get multiple errors that i dont understand at all.
I know my code may be very un-structured the absolute right way, i know, but i dont have time reconstructing and trying to understanding new patterns .The object is the circle and the vertical line.
TimelineMainView Controller
public class TimelineController{
StageClass sc = new StageClass();
NewTimelineController nt = new NewTimelineController();
[code]....
I'm quite new to JavaFX, and currently struggling with navigation between views. I'll post the code and the stacktrace.
public class MainApp extends Application {
private Stage primaryStage;
private AnchorPane overviewPage;
@Override
public void start(Stage primaryStage) {
this.primaryStage = primaryStage;
[Code] .....
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
[Code] ......
I have noticed that you can style JavaFX controls using their sub-structure.
E.g. to style the label in a table column header to be left justified I can do this :
.table-view .column-header-background .label { -fx-alignment: center-left ; }
How can I style my own nodes/controls doing this? Basically it amounts to asking how the selectors like ".column-header-background" are associated with sub-structures of my Java control/node objects. So suppose I have something like
.fancy-node .fred .label { ... }
How does JavaFX associate fancy-node and fred with something in my implementation of a Node/Control?
ToString()-Representation of KeyEvents. I was expecting '$' as text value, because Shift was pressed.
Unfortunately, KeyTyped is not fired in this case, so I am not able to get the information from this event.
How can I get the actually typed '$' from KeyPressed?
KeyEvent [source = BorderPane[id=cnt_borderPane], target = Button@1a3fc21a[styleClass=button]'', eventType = KEY_PRESSED, consumed = false, character = , text = , code = SHIFT, shiftDown]
KeyEvent [source = BorderPane[id=cnt_borderPane], target = Button@1a3fc21a[styleClass=button]'', eventType = KEY_PRESSED, consumed = false, character = , text = 4, code = DIGIT4, shiftDown]
KeyEvent [source = BorderPane[id=cnt_borderPane], target = Button@1a3fc21a[styleClass=button]'', eventType = KEY_RELEASED, consumed = false, character = , text = , code = SHIFT]
KeyEvent [source = BorderPane[id=cnt_borderPane], target = Button@1a3fc21a[styleClass=button]'', eventType = KEY_RELEASED, consumed = false, character = , text = 4, code = DIGIT4]
I would like to extract text (String) from a TextFlow control.
View Replies View RelatedI'd like the GUI to be drawn based on definition file. Is it possible to "generate" fxml (like PHP does html) so I could do this:
for (...) {
command_to_generate (<button ....>);
}
?
Or is using legaxy javaFX code the only way to achieve it?
My JavaFX code like this:
WritableImage image = scene.snapshot(null);
File outputFile = new File("C:PSBJavaFXApplication1src est0.jpg");
ImageIO.write(SwingFXUtils.fromFXImage(image, null), "jpg", outputFile);
When open this jpg, its background is in orange color. For png type, it works great.
I am new to JavaFX and OpenCV. The Problem is, that JavaFX can't handle Mat objects. First I load an image as a BufferedImage. Then i have to convert this to Mat. Do my image Processing with OpenCV and again convert the result image to a BufferedImage to display in on my UI. Here are the methods for converting Buff to Mat and Mat to Buff I found on the internet:
public static Mat img2Mat(BufferedImage image)
{
byte[] data = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
Mat mat = new Mat(image.getHeight(), image.getWidth(), CvType.CV_8UC3);
mat.put(0, 0, data);
return mat;
[Code] ....
Next I do some OpenCV stuff:
public static BufferedImage hello(BufferedImage img) {
Mat source = img2Mat(img); //Convert Buff to Mat
BufferedImage outImg = null;
try{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
[Code] ....
Finally I call the hello method in my controller:
void menuItemTestFired(ActionEvent event) {
try {
result = ImageProc.hallo(bImage);//bImage is an image I've loaded before.
imageView.setImage(SwingFXUtils.toFXImage(result, null));
[Code] .....
Unfortunately I get a lot of errors. Here are the first one:
Caused by: java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J
at org.opencv.core.Mat.n_Mat(Native Method)
at org.opencv.core.Mat.<init>(Mat.java:471)
[Code] ....
Can't figure out why this doesn't work. -.-
I using this code to fir FlowPane into ScrollPane
FlowPane flowPane = new FlowPane(Orientation.HORIZONTAL);
ScrollPane scroll = new ScrollPane();
scroll.setContent(flowPane);
scroll.viewportBoundsProperty().addListener(new ChangeListener<Bounds>() {
@Override
public void changed(ObservableValue<? extends Bounds> ov, Bounds oldBounds, Bounds bounds) {
flowPane.setPrefWidth(bounds.getWidth());
flowPane.setPrefHeight(bounds.getHeight());
}
});
Unfortunately this maybe is not the best solution. Is there another more simple way to fit FlowPane into ScrollPane in Java 8?
I'm using WebView to display an OpenLayers3 map, e.g. Animation example from openlayers.org. When I lock my screen and unlock it, none of the openlayers layers are re-drawn. Sometimes bringing the window in to focus or a small resize of the component will cause the map to go blank. This doesn't occur in any browser I've tested, so it seems to be a WebView specific issue, although it also seems to be layer specific and possibly cache related. I've only tested on Windows, 1.7.0_51 x64 and 1.8.0_05 x64 ....
View Replies View RelatedUnless I missed it, there does not seem to be a Spinner control in SceneBuilder.
Is this right?
There are a few things lacking in the TableView's keyboard navigation handlers. In tracing the code, the behavior is handled via TableViewBehavior and its super classes. If I want to augment that behavior, how do I do it?
Ideally, I would like to subclass TableViewBehavior, but I don't see how I can do it. This gets created in the TableViewSkin ctor:
public TableViewSkin(final TableView<T> tableView) {
super(tableView, new TableViewBehavior<T>(tableView));
...
}
but as you can see there is no factory method to create the behavior class. If there was, I could subclass TableViewSkin and override the factory method.
At the end I just copy and paste the code from section 9.3.4 (the long startup task example) and it still won't work. After starting the application I only see some black screen flickering at the upper left screen and then the main app shows up.
What I have done:
Using Netbeans 8.0 under Linux(Fedora20 64bit), JDK 1.8u5 ...
Here are the two classes - the main app :
import javafx.application.Application;
import javafx.application.Platform;
import javafx.application.Preloader.ProgressNotification;
[Code]....
On my machine I see only a little black flickering on the left upper screen and then immediately the app is shown...
The only way I can get this to run is to set the custom preloader property in the Netbeans-project properties. If you use a maven based project in Netbeans you did not got this option ...