I have a ListView with ListCells that are complicated things containing other nodes. I want to turn of ListView selection behavior (so not allow selections) without turning of events to the ListCell nodes in the ListView.
I can't figure out how using binding on selectionModelProperty in a ListView that is using MULTIPLE selection model. I want bind my bean in which I've a list of item A and the selection of that items into the List.
I have a selection listener attached to a TreeView as shown below
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TreeItem<Pair<VideoSourceType, String>>>() { @Override public void changed(ObservableValue<? extends TreeItem<Pair<VideoSourceType, String>>> observable, final TreeItem<Pair<VideoSourceType, String>> oldValue, final TreeItem<Pair<VideoSourceType, String>> newValue) { // do something treeView.getSelectionModel().clearSelection(); } };
What I want to do is to "do something" and then clear the selection so that it can be selected again. However, I cannot re-select the same item from the TreeView until I first select a different item.
I want to synchronize a List<String> with the selected items of a ListView. In the real project, I want to synchronize the selected items of a TreeView and the selected images of a galery (custom control).
In most cases, the program works as expected but sometimes there are some issues.
- For example, when I launch the application and select all the items with Ctrl-A, the event { [One, Two, Three] added at 0, } is fired so the list of strings contains incorrectly 4 elements [One, Two, Three, One].
- Another example, when selecting all the items (with Shift+End), two events are fired { [One] removed at 0, } and { [One, Two, Three] added at 0, }, that's correct. But when I remove the last element with Shift-Up, 3 events are fired { [Two] removed at 1, }, { [Three] removed at 2, } and { [Two] added at 1, } and an exception is thrown:
java.lang.IndexOutOfBoundsException: toIndex = 3 at java.util.ArrayList.subListRangeCheck(ArrayList.java:1004) at java.util.ArrayList.subList(ArrayList.java:996) at com.sun.javafx.binding.ContentBinding$ListContentBinding.onChanged(ContentBinding.java:111)
I'm trying to add filtering content in ListView by selected date from DatePicker. Every position(movie) has it's emission date saved, so when you choose date that you're interested in, it will show just matching titles. I was trying to use this solution:
I have an app that was working with JavaFX 2 on JDK 7 but seems to no longer work in JavaFX 8 on JDK 8. The story is that I have a ListView where I have provided my own CellFactory. Within the class that extends ListCell, in the updateItem() method, I create an HBox that contains some text and a new button.
I register an onAction() callback for the button. The end result should be a list with entries which contain buttons and when a button is clicked, the onAction() callback is invoked. However, when I run it and click the button, the callback is NOT being fired. This exact code was working on JavaFX 2 and JDK 7.
I only want the context menu to be showen if the user is clicking on an actual listview item, not if they click anywhere else in the listview. I know this is possible and I found answers to similar problems, but in the end they didn't provide enough infomation for me to solve my issue. I found this example on how to do it with a list view containing String objects, but what if my list view contains another object, in my case a wrapper class? I have a wrapper class to keep track of the key, but I only display the value variable in the listview, through calling the toString method. So the cells still contain a wrapper.
class Wrapper(int key, String value) { .. } public String getValue() { return value; } public SimpleStringProperty getValueAsProperty() { return new SimpleStringProperty(value); } public String toString() { return value; }
[Code]....
But line 05 gives me a NullPointerException, why? I do this after I've set the items of the list view by doing listView.setItems(..).
If I "embed" a ProgressIndicator inside a ListView it has an ugly border and a white background. It looks like there's a TextField below the ProgressIndicator.
Why does it behave like that and how to solve it so that the progress indicator is transparent.
public class Person { private SimpleStringProperty name; public SimpleStringProperty nameProperty(){ if(this.name==null){ this.name=new SimpleStringProperty();
[Code] .....
I have this:
lista = FXCollections.<Person>observableArrayList(); lista.addAll(new Person("uno"),new Person("due"),new Person("tre")); myListView.setItems(lista);
The problem is if I add /remove an item all is fine, the listView refreshes correctly:
Person p = new Person(tfld_textAdd.getText()); lista.add(0, p);
But if I change a value on an item into the observable list it doesn't:
lista.get(0).setName("new value");
I also have a table linked in the same way and the table workd correctly after I updated my Java version...
I have a Master/Detail application with a TreeView as Master Selection. I need to inhibit leaving a page if the contents are "invalid". How can I do that?
I tried to force the page again in a ChangeListener, but that doesn't work well, not even using Platform.runlater().
I have tried to implement MultipleSelectionModel with mostly success in TreeView, but definitely with quirks. I've looked at the implementation in TreeView and it's off putting to say the least. Hopefully it doesn't need to be that complicated. For now, all I need is it to handle SINGLE SELECTION, but it needs to be solid. I've put in a lot of println's to see what gets called. Most don't seem to be called. I'm relying on TreeView to look up the object being selected, I'm not sure if that's appropriate. The internal implementation seems to worry about tree state a lot.
It baffles me as to why there isn't a base class from which to extend or reuse? I'm doing this so I can delay a selection (make it vetoable), also to handle drag/drop more cleanly (so target won't move because of drag action).
private class VSelectionModel extends MultipleSelectionModel { List<Integer> baseSelectedIndexes = new ArrayList<>(); ObservableList<Integer> selectedIndexes = FXCollections.observableList(baseSelectedIndexes); List<Object> baseItems = new ArrayList<>(); ObservableList items = FXCollections.observableList(baseItems);
I have a little problem in my Java FX application. in a tableview, I add records whatever... And i have a button that delete the selected record in the tableview, This button delete too the related record in a database.
When I select a row in this table , I store the ID of that record in a global variable to have it available . Thus, when I click on the delete button, delete the record from the database based on the ID that I stored in the global variable.
The problem is that tableview has a curious property. If I select the last row and I click on the delete button ( removing the last record of the tableview ) , the next higher row is automatically selected ; and causes the ID value stored change .
The row is deleted in the tableview is correct but apparently , when it comes to the method deletes the record from the database, the global variable ID is already updated and delete another record.
I would like to disable that property of the table so that the row can be selected only by the mouse ... or some other solution .
TableView selection model allows selecting single cells in the table but the default styling highlights the whole row regardless of the actual column selected in the row.
I am just wondering what options are there to change this behaviour so that the actual cell (row/column) get highlighted rather then the whole row.
Something like the $18,000 cell in the "Figure 1 Table overview" in [URL] ....
How do I keep an item (TreeItem) from being selected when performing a drag -n- drop? I don't want it to be selected because it will end up making the target disappear (selection of TreeItem changes target panel).
Related question: Is there a way to "veto" a tree selection change as well?
how do i get the inputed strings to print out after i turn them into tokens ? I need it to ask for a number and then multiple lines of strings, turn them into tokens, then print them out.
import java.util.*; public class TokenDriver{ public static void main(String [] args){ // TokenStore words = new TokenStore(); String[] tokens = new String[300];
[code].....
also as a follow up how would use an array in an other class (TokenStore) to save the typed line information
i am a french student in France and i am studying informatics . For validating my term at the beginning of January i have a projet in JAVA to do called YAHTZEE. It's a game which i have to code WITHOUT USING AN OBJECTS. I already started the coding, i did all the beginning stuff ( to call the number and the names of players, to roll the 5 dices, i made the code for all the scoring points too(rules) ) but i can't do the table score which updates the new scores after each turn ( 3 turns in total) .
I'm writing a java program with opengl and I'm trying to get it where the user would select something like lighting on in a JMenu and then it would turn the lighting on in the house/barn... I have a method called LightOn that I put gl.glEnable(gl.GL_LIGHT0); but it just doesn't seem to turn on when I call it from the action performed... Is there something I'm missing from my code that I'm supposed to use instead since I have tried it with a boolean.. So the boolean starts off as false and when the JMenuItem is clicked the actionPerformed will turn the boolean to true and call the method LightOn. In the display method I have what the light is supposed to be
So I'm trying to create a simple user database that I could eventually turn into a login system. I created a simple table on MySQL with a name and address for the sake of simplicity. I tried to create simple statement inside my main method that would connect to my MySQL server and when I run my program I get a ClassNotFoundException from "org.gjt.mm.mysql.Driver"..Here is what I have in my main method thus far:
public static void main(String args[]) { try { Class.forName("org.gjt.mm.mysql.Driver"); //Load the driver Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/data", "root", ""); //Connect /* conn.createStatement().execute("CREATE TABLE people (" + "id int(64) NOT NULL AUTO_INCREMENT," + "name varchar(255) NOT NULL," + "address varchar(255) NOT NULL," + "UNIQUE (id)," + "FULLTEXT(name, address))");
[code]....
I downloaded Connector/J in the the binary .zip form and extracted it to my C: drive and put the .jar file into my java directories lib folder. I also added the directory of the .jar file into my CLASSPATH and I still get the exception.
I'm making a class in Android that takes a photo, list a photos in Listview, and then sends them all to server. I'm stuck on listing them. How to send them all to server.
So from what iv learnt in Java and programming in general is that using a case statement is far more efficient that using multiple IF statements. I have an multiple IF statements contained within a method of my program, and would like to instead use a case statement.
I'm trying to make a method that takes an image and turns it into a tile image. So if the original image looks like this:
[URL] ....
then the output image should look like this:
[URL] ....
Here's a method that's supposed to do that but for some reason the output image looks the same as the original:
public static int[][] tile(int[][] arr){ int[][] tile = new int[arr.length][arr[0].length]; for (int i = 0; i < arr.length; i++) { tile[i]=arr[i]; } return tile; }
I recently changed the method and the error message I'm getting is "bad operand types for binary operator '+'. Here's the method:
public static int[][] tile(int[][] arr){ int[][] tile = new int[arr.length][arr[0].length]; for (int i = 0; i < arr.length; i++) { for(int j=0; j<arr[i].length;j++){ tile[j]=(tile[j])+(arr[i]); } } return tile; }
This program allows the user to select one of each different type of skateboard/accessories items. Then it allows the user to select as many misc items as he or she chooses. The program works fine for the single choices, but I cannot solve the latter part. I have a get method in the misc class that is trying to pull out any selection or selections that were made by the user, but it simply does nothing...
Here's my program, I have four panel classes for each skateboard type, and then I have one class that takes care of adding each panel to the content pane, and calculating the total cost of the item.
Decks Panel Class:
import java.awt.event.*; import javax.swing.*; // The DecksPanel class allows the user to selects a specific type of skateboard public class DecksPanel extends JPanel
However, whenever I run the method, the element that should go last, Zachary, in this case, ends up getting moved to the front for some reason. I'm not sure why.
I tried changing what the first element was initialized to, to the variable i as that would logically work as well, but it ends up missing the first element in the list.
Java Code:
public static void selectionStringAscendingSort (String[] words){ int i, j, first; String temp; for ( i = 1; i < words.length; i++ ) { first = 0; //initialize to subscript of first element for(j = i; j < words.length; j ++){ //locate smallest element between positions 1 and i. if( words[ j ].compareTo(words[ first ]) <0 ) first = j; } temp = words[ first ]; //swap smallest found with element in position i. words[ first ] = words[ i ]; words[ i ] = temp; System.out.println(Arrays.toString(words)); } System.out.println(Arrays.toString(words)); } mh_sh_highlight_all('java');