JavaFX 2.0 :: ImageView Image Created In Scene Builder 2.0 Doesn't Display In Running App
Sep 9, 2014
I'm using Scene Builder 2.0 and have added an ImageView to the parent AnchorPane. I've added my PNG files for the app icon and the various buttons. I select the ImageView in Scene Builder and then crawl the filesystem to the project package folder and select the PNG for the Image. The assigned image is displayed in the Imageview in Scene Builder in both design mode and Preview mode.
While everything else shows up properly when the app is executed, the image assigned to the ImageView does not display.
From the FXML file:
<ImageView fx:id="ivBRULogo" fitHeight="64.0" fitWidth="64.0" layoutX="14.0" layoutY="14.0" pickOnBounds="true" preserveRatio="true" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="14.0">
<image>
<Image url="@BRU_PE_B_64.png" />
</image>
</ImageView>
What might be occurring between the compiled app and what Scene Builder generates?
View Replies
ADVERTISEMENT
Jul 4, 2014
I am new to javafx and my goal is to basically just test if my java code works with Mysql. What I'm planning to do is to display one data of the sakila database into a Label named greetingLabel. And I can't seem to find where i went wrong so i'll show you my whole code.
Here is the main code for my controller class from scene builder:
package main;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
[Code] .....
Here is the error displayed when pressing the button
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)
[Code] .....
View Replies
View Related
Jun 6, 2015
I'm trying to follow the Scene Builder tutorials on a 3200 X 1800 screen which makes the size of the content pane 3'' x 2" ....
View Replies
View Related
Jun 3, 2015
I did an implementation which is an extension of javafx.scene.control.ComboBox
Inside I imported the Class ComboBoxListViewSkin
import com.sun.javafx.scene.control.skin.ComboBoxListViewSkin;
I think this might be the reason as this comboBox is not recognized at the import to the scene builder library. I can show up the import dialog of custom controls, but my custom ComboBox is not showing up. All other implementations are there correctly as they are loaded from my customControl.jar file
I use the ComboBoxListViewSkin for the functionality to scroll to an item in the combo as a user types a letter on the keyboard.
I do this by:
/**
* This method scrolls the itemView of the items to the first item starting
* with the given char or string
*
* @param pressedKey
*/
public void scrollToChar(String pressedKey) {
String value = pressedKey.toUpperCase();
for (Object userEntry : getItems()) {
[Code] ....
I really need to show up my custom Combo in the scenebuilder, as otherwise the rest of my fxml is not editable in sceneBuilder 2.0 ....
View Replies
View Related
Nov 28, 2014
I thought I had a simple idea for creating a control that would let me get some of the behavior of a card pane. This is the entire control:
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Node;
[Code] ....
The idea is pretty simple; extend StackPane, add an active property, bind the visible and managed properties of the pane to the active property, and, whenever the active property is changed to true, iterate sibling nodes de-activating any siblings that are also of the type Card.
However, this doesn't work with Scene Builder. While trying to debug, I created an ExtStackPane:
import javafx.collections.ListChangeListener;
import javafx.scene.Node;
import javafx.scene.layout.StackPane;
public class ExtStackPane extends StackPane {
{
getChildren().addListener((ListChangeListener<Node>) c -> {
System.out.println("ExtStackPane children change: " + c.toString());
});
}
}
All this does is log list change events. However, I was very surprised by the output when working in Scene Builder. I added both controls to Scene Builder and did the following:
0) Added an ExtStackPane
1) Added a Card to the ExtStackPane
2) Added another Card to the ExtStackPane
3) Added a Label to the first Card
4) Added a Label to the second Card
5) Changed the text of the first Label to Hello
6) Changed the text of the second Label to World
7) Set the first Card to active
8) Set the second Card to active
I get the following output:
1)
ExtStackPane children change: { [Card@5b9067b3] added at 0 }
2)
ExtStackPane children change: { [Card@6b6328bd] added at 0 }
ExtStackPane children change: { [Card@6aca8cc5] added at 1 }
[Code] ....
This is what things look like in Scene Builder:
Does Scene Builder recreate the entire hierarchy every time I make a small change? Here's an application that does the same as the manual steps I performed in Scene Builder:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class CardApplication extends Application {
[Code] ....
The output when running the above is:
1)
ExtStackPane children change: { [Card@6dfaa767] added at 0 }
2)
ExtStackPane children change: { [Card@6aa2c411] added at 1 }
[Code] ....
The behavior is obviously a lot different than when I'm working with the control in Scene Builder. What Scene Builder is doing to change the behavior of my Card control so much? Does my Card control break some rule(s) I'm not aware of?
View Replies
View Related
Dec 29, 2014
I created an ImageView with an image with transparent portions. I also did some scaling and moving, which I though might cause this effect, but that is not the case. When I click on the transparent portion of the image the onMouseClick event is not fired. Other mouse events (mouse enter, mouse move, mouse exit, ...) get fired. Only when I click on the non transparent part the click event is fired.
Image img = new Image(getClass().getResourceAsStream("barrel_icon.png"));
ImageView view = new ImageView(img);
view.setScaleX(0.5);
view.setScaleY(0.5);
view.setOnMouseClicked(new EventHandler<MouseEvent>() {
[Code] ....
The area between the barrel and the shadow belongs clearly to the image, however is transparent. I am wondering if there is a reason for this behaviour and what is the best way to work around this issue, as my image has large transparent portions and the non transparent parts are hard to click on. By the way this is all based on JavaFX 2.2.
View Replies
View Related
Apr 9, 2015
I am new in JavaFX, I download/installed JDK8 with NB. I am trying to save a scene as image (png or jpg), but the result png is blank.
Here is the Java simple code:
----------------------------------------------------------------------------
import java.io.File;
import static javafx.application.Application.launch;
import javafx.embed.swing.SwingFXUtils;
import javafx.print.PrinterJob;
import javafx.scene.Scene;
import javafx.scene.SnapshotParameters;
import javafx.scene.image.WritableImage;
[Code] ....
View Replies
View Related
Mar 28, 2015
why this code, doesn't display the image?
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
[code]...
View Replies
View Related
Oct 21, 2014
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.
View Replies
View Related
Jun 18, 2014
I have a WebView and a Javascript that appends an <img> tag in a webview.
Like so:
function insertImg(src) {
$("body").append("<img src='" + src + "'/>");
}
I call this function with the following code:
String path = "file://Users/rod/Desktop/123.gif";
webengine.executeScript("insertImg('" + path + "')");
However, this does not work and no image is displayed.
How can this be achieved?
View Replies
View Related
May 29, 2015
I want to include JavaFX in my Eclipse IDE. I found intructions on how to import JavaFX Screen Builder into Eclipse 4.4 but my version is 4.2.2
I noticed that JavaFX is included into Java JDK now, I have installed Java JDK 8_45
The info on the oracle java pages is telling me i have to install JavaFX Screen Builder 2 before installing the plugin.
So, how to i proceed ???
I tried to inport e(fx)clipse plugin 1.2 and 0.9 but both refuses to install. Messages received as follows:
Cannot complete the install because one or more required items could not be found.
Software being installed: e(fx)clipse - IDE - FXML 1.2.0.201501301049 (org.eclipse.fx.ide.fxml.feature.feature.group 1.2.0.201501301049)
Missing requirement: JavaFX Preview 1.2.0.201501301049 (org.eclipse.fx.ide.ui.preview 1.2.0.201501301049) requires 'bundle com.google.inject 2.0.0' but it could not be found
Cannot satisfy dependency:
From: e(fx)clipse - IDE - FXML 1.2.0.201501301049 (org.eclipse.fx.ide.fxml.feature.feature.group 1.2.0.201501301049)
To: org.eclipse.fx.ide.ui.preview [1.2.0.201501301049]
View Replies
View Related
Mar 12, 2015
Have have just started working with JavaFX and SceneBuilder having been a long time Swing developer.
My first foray into the world of JavaFX involves building a rather simple desktop application to parse text based log files with regular expressions.
Currently I am working on the main window for this application. I built a scene in SceneBuilder using a BorderPane for my root.
I placed a TitledPane which contains a TableView in the center section of the BorderPane and a VBox which contains several Buttons in the right section of the BorderPane. When I view the layout in SceneBuilder using the Preview menu item to show the preview in a Window, SceneBuilder shows the scene laid out exactly as it is in the work are and as I would like it laid out.
When I close SceneBuilder and go back to my IDE (Eclipse) and build and run the application the scene is displayed in a window differently than in SceneBuilder preview. When the application executes the scene is laid out as if there has been something placed in the top section of the BorderPane, the TitledPane containing the TableView is centered in the window and the VBox containing the buttons are not aligned with the top of the TitledPane containing the TableView because it is as if there is a "null control" in the top section of the BorderPane.
Why is there a difference in the way SceneBuilder displays the scene and the way the executed application displays the scene?
Also, I recently made some changes to the layout of the controls in SceneBuilder (e.g. changed some padding and location of some controls in their containers and again the scene looks perfect in SceneBuilder but when I execute the application now some components in the container where I made the changes are truncated when the scene is displayed when the application executes.
It is almost as if SceneBuilder is interpreting the FXML one way and the JavaFX API during run time is interpreting the FXML another way.
View Replies
View Related
May 15, 2014
My problem is simple. Just set busy cursor on a scene. The scenarios is like this: I have simple application with a button on it. When I click the button, I will:
1. Set mouse cursor to BUSY
2. Do some work
3. Set mouse cursor back to DEFAULT.
I search the web and found some sample codes to set cursor. But they don't satisfy my need. So I wrote a simple application:
public class MainFormApp extends Application {
@Override
public void start(Stage stage) throws Exception {
stage.initStyle(StageStyle.DECORATED);
Pane root = new Pane();
root.setPrefSize(500, 300);
Button btn = new Button("Click me");
[Code] ....
When I run application and click the button, cursor does not change to BUSY. I also tried to use Platform.runLater() but no luck.
View Replies
View Related
May 11, 2014
I have following methods, which I call from the Event Dispatcher Thread:
public void setTitle(String title) {
Platform.runLater(() -> stage.setTitle(title));}
public String getTitle() {
return stage.getTitle(); // <- Access from outside JFX App Thread ok?}
Is it thread-safe, when the getter-Method just return the value like the example show? Or must I create a Runnable, so stage.getTitle() is called inside the Java Application Thread? How I return the value then?
View Replies
View Related
Sep 18, 2014
I am looking for a way to find a resize animation for an application I'm developing. I found this answer but I figure there could be a better method out there,
Java - How do I create a Resize animation for JavaFX stage? - Stack Overflow
I am just looking to select something in a list, then press a button which would enable the animation and enlarge the stage. This will happen twice.
View Replies
View Related
Oct 21, 2014
I want to create a slot machine in NetBeans, with JavaFX library (without using JavaFX Scene Builder) but i have some problems to create UI.
I created algorithm already but without visuals.
Now my code is:
public class BEST extends Application {
private ImageView var; //init imageview of images
public static void main(String[] args) {
launch(args);
[Code] ....
createbottom(); and creategr(); i wrote already (and my program creates grid pane of random images with double dimension array, random and imageview) and program runs, but i don t know how to keep track of credits balance,in the same time to create new random gridpane of images and to get rid of every gridpane.
Here is creategr();
private GridPane creategr(){
final GridPane creategr = new GridPane();
int[][] newarray=new int[3][3];
int w=100;
for(int i=0; i<3; i++){
for(int j=0; j<3;j++)
[Code] ....
Button "SPIN" is created in createbottom();.
View Replies
View Related
Mar 21, 2015
Lets say I have a desire to convert and entered value to Centigrade or Fahrenheit and that I have two Radio Buttons to designate the type of conversion with the Answer posted to a TextField on Scene Two from a button click event on Scene One ok Now I would like to convert the value in the TextField on Scene Two to Kelvin and reflect the value on Scene Three in a TextField by clicking a button on Scene Two
lets say I have 4 FXML files sceneONE sceneTWO and scenMain and I created 4 controllers ControllerONE and MasterController
So far I can navigate to the different scens with just the MasterController code below...
BUT because I have two FXML files I can not capture the value in the first FXML file and pass it to the second scene
This project is my attempt to adapt the FXML style code from this web site
Switching to Different Screens in JavaFX and FXML | JavaFXTutorials
Which uses this code to switch scenes
//get reference to the button's stage stage=(Stage) btnS1.getScene().getWindow();
//load up OTHER FXML document
root = FXMLLoader.load(getClass().getResource("ATTwo.fxml"));
But will not permit variable transfer due to scope of variables which reside in two different FXML files
public class MasterController implements Initializable{@FXML public Button btnS1;
@FXML public Button btnS2;
@FXML public Label lblS1;
@FXML public Label lblS2;
@FXML public TextField txfS1;
@FXML public TextField txfS2;
@FXML public AnchorPane root;
[Code] .....
View Replies
View Related
Apr 23, 2015
I'm trying to implement a scene with a ScrollPane in which the user can drag a node around and scale it dynamically. I have the dragging and scaling with the mouse wheel working as well as a reset zoom.
Here's my issue:
I'm having trouble with the calculations to fit the node to the width of the parent.
If I zoom in or out, the fit to width does not work.
If I change the window size after running fitWidth() once, the fit to width does not work the second time.
Here is my code as an SSCCE and how it works...
1. (works) Mouse wheel will zoom in and out around the mouse pointer
2. (works) Left or right mouse press to drag the rectangle around
3. (works) Left double-click to reset the zoom
4. (doesn't work) Right double-click to fit the width
My calculations to re-position the rectangle to the upper left of the pane and fit it (i.e. scale it up or down) to the width of the parent are incorrect.
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.beans.property.DoubleProperty;
[Code] ....
View Replies
View Related
Jun 25, 2014
I noticed that all my stages can be resized to zero size regardless of their contained scene, which is very ugly. How do I keep them from doing that? Is there some sort of intelligent way to bind the stage's min size to the size of the scene so that no part of the scene is cut off?
View Replies
View Related
Dec 18, 2014
I'm trying to open an image within a JFrame but the image doesn't show. The directory path is correct. The JFrame opens perfectly but no image is showing.
JFrame frame = new JFrame("IMAGE");
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon image = new ImageIcon("images/main.jpg");
JLabel label = new JLabel("", image, JLabel.CENTER);
JPanel panel = new JPanel(new BorderLayout());
panel.add( label, BorderLayout.CENTER );
frame.setVisible(true);
View Replies
View Related
Dec 8, 2014
Sometimes models needs to access blocking devices, like network cards, databases, files, and so on. This should be done by worker threads or services. But who is in charge of that? The controller or the model itself? I tend to say it is the model, as only the model knows about the fact that it accesses a blocking object. On the other hand, it is said that a model should be a POJO, so it would be the controller's job. Is there a best practice or general design rule?
View Replies
View Related
Jan 5, 2015
I stored an image into MySQL database using swings and hibernate but I am struggling to retrieve that image from MySQL database and display same image in the jTable cell and same as on jLabel whatever I retrieve from the database using swings and hibernate .
View Replies
View Related
May 10, 2014
in my ui i will i will select enabled or disabled then it will go in controller , i already debug it and it goes on the right controller based on what i select on ui my problem is when i select disabled it dont display the message but when i select enabled it displays the message, then i check the databases status is change based on what i select but when i change into disabled doesnt display any message.if select enabled will go in controller then change status into true then update the status then will see the message in ui
@RequestMapping(value = "/viewEnabled/{id}", method = RequestMethod.POST)
public ModelAndView viewEnabled(
@PathVariable("id") Integer id) {
ModelAndView mvc = new ModelAndView();
Supplier supplier = supplierService.retrieveSupplier(id);
supplier.setEnabled(true);
supplierService.updateSupplierEnabled(supplier);
mvc.addObject("showEnabled", true);
mvc.addObject("supplier", supplier);
[code]....
The main functionality of enabled /disabled is both working it just dont display the message if i change it into disabled,.
View Replies
View Related
Mar 7, 2014
I wish to display a progress bar during a lengthy file translation process. When I created a ProgressBar class to do this and tested it with a short test program, it seemed to work fine. But when I add my ProgressBar class to a package containing various other classes, put that package in a jar file, and then execute the class using the progress bar from a menu in my main program, the frame of the progress bar shows up with the appropriate caption but the JLabel, JProgressBar, and JButton are not displayed. I have gone over my code numerous times and checked that the ProgressBar class constructor is getting the proper arguments.
// package gov.nasa.jpl.ephemeris;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Progress bar with message text above the bar and a Cancel button below it
*/
public class ProgressBar extends JFrame {
private boolean _cancelled = false;
private JProgressBar _progressBar = null;
[Code] ....
I have also been wondering whether I need a separate instance of the border for each panel, or whether I can just create one instance and use it for all three panels.
View Replies
View Related
Jul 11, 2014
I built my application under Windows XP (x32), Eclipse Luna (x32), JDK 1.8 (x32 - beta version B116).
When i launch it, the splashscreen (preloader) appears !
I rebuilt my application under Windows 7 (x64), Eclipse Luna x64, JDK 1.8.0_20 (x64).
When i launch it, the splashscreen doesn't appear !!!
For information, The structure of my application :
app
| libs
| preloader.jar
myapplication.jar
runtime
The behavior of JDK 1.8.0_20 about the management of the preloading mecanism is it different of the behavior of JDK 1.8 (B116) ?
View Replies
View Related
Dec 8, 2014
In the documentation of StackPane i read: "The stackpane will attempt to resize each child to fill its content area. If the child could not be sized to fill the stackpane (either because it was not resizable or its max size prevented it) then it will be aligned within the area using the alignment property, which defaults to Pos.CENTER."
But as I add another Pane (Anchor- or BorderPane) this added Pane is shows always in left upper corner of the StackPane. How could I force my StackPane to center another AnchorPane?
View Replies
View Related