private void initUI(Stage stage) { VBox root = new VBox(30); root.setPadding(new Insets(10)); DoubleProperty azimuth = new SimpleDoubleProperty(0); Light.Distant light = new Light.Distant(); light.setAzimuth(0); Lighting lighting = new Lighting(light); lighting.setSurfaceScale(5.0); Text text = new Text(); text.setText("test"); text.setFill(Color.LIGHTSKYBLUE); text.setFont(Font.font(null, FontWeight.BOLD, 60)); Slider slider = new Slider(1, 360, 0); azimuth.bind(slider.valueProperty()); slider .valueProperty() .addListener( event -> { light.setAzimuth(azimuth.get()); lighting.setLight(light); text.setEffect(lighting); }); text.setEffect(lighting); root.getChildren().addAll(slider, text); Scene scene = new Scene(root, 300, 250, Color.WHITESMOKE); stage.setTitle("Lighting"); stage.setScene(scene); stage.show(); }
private void configureEffect() { handEffect.setOffsetX(radius / 40); handEffect.setOffsetY(radius / 40); handEffect.setRadius(6); handEffect.setColor(Color.web("#000000")); Lighting lighting = new Lighting(); Light.Distant light = new Light.Distant(); light.setAzimuth(225); lighting.setLight(light); handEffect.setInput(lighting); handEffectGroup.setEffect(handEffect); }
@SuppressWarnings("unchecked") public StackPane viewStock(String categoryId, String categoryName) { stack = new StackPane(); GridPane grid = new GridPane(); grid.setVgap(8); grid.setPadding(new Insets(30)); final ObservableList<ItemVO> dataTable; // final ObservableList<ItemVO> dataTable1; // final ObservableList<ItemVO> dataTable2; ObservableList<CategoryTypeVO> typeList; Rectangle roundRect = RectangleBuilder.create() .x(50) .y(50) .width(Screen.getPrimary().getVisualBounds().getWidth() - 428) .height(Screen.getPrimary().getVisualBounds().getHeight() - 150) .arcWidth(30) .arcHeight(30) .build(); roundRect.setFill(Color.DARKGRAY); roundRect.setOpacity(0.2); roundRect.setStroke(Color.TRANSPARENT); HBox hlabel = new HBox(); hlabel.setMaxWidth(Screen.getPrimary().getVisualBounds().getWidth() - 170); hlabel.setMaxHeight(30); hlabel.setStyle("-fx-background-color:black;"); hlabel.setOpacity(0.3); hlabel.setLayoutX(20); try { typeList = FXCollections.observableArrayList(); typeList = UtiliesDAO.getUtiliesDAO().fetchTypes(categoryId); dataTable = FXCollections.observableArrayList(); dataTable.addAll(stockDetailsService.viewStock(categoryId)); /*dataTable1 = FXCollections.observableArrayList(); dataTable2 = FXCollections.observableArrayList(); for(int i=0;i<dataTable.size();i++) { dataTable1.add(dataTable.get(i++)); if(i<=dataTable.size()-1) { dataTable2.add(dataTable.get(i)); } }*/ final Label label = new Label(categoryName + " Stock"); final Text text5 = new Text(25, 175, categoryName + " Stock"); text5.setFill(Color.DARKORANGE); // text5.setFont(Font.font ("Edwardian Script ITC", 50)); text5.setFont(Font.loadFont("file:resources/fonts/ITCEDSCR.TTF", 50)); final Light.Distant light = new Light.Distant(); light.setAzimuth(-135.0); final Lighting lighting = new Lighting(); lighting.setLight(light); lighting.setSurfaceScale(9.0); text5.setEffect(lighting); label.setAlignment(Pos.CENTER_LEFT); // grid.add(label,1,0); final TableView<ItemVO> table1 = new TableView<ItemVO>(); table1.setEditable(false); // table1.setMaxSize(roundRect.getWidth()*0.41, roundRect.getHeight()*0.519);//400,300 table1.setMinSize(roundRect.getWidth() * 0.41, roundRect.getHeight() * 0.519); // 400,300 table1.setMaxSize(roundRect.getWidth() - 50, roundRect.getHeight() - 200); table1.getSelectionModel().setCellSelectionEnabled(false); table1.setStyle("-fx-background-color: transparent;"); TableColumn<ItemVO, String> itemName = new TableColumn<ItemVO, String>("Item"); itemName.setResizable(false); itemName.setMaxWidth(roundRect.getWidth() * 0.5); itemName.setMinWidth(roundRect.getWidth() * 0.5); // 200 itemName.setCellValueFactory(new PropertyValueFactory<ItemVO, String>("itemName")); TableColumn<ItemVO, Integer> quantity = new TableColumn<ItemVO, Integer>("Quantity#"); quantity.setResizable(false); quantity.setMinWidth(roundRect.getWidth() * 0.107); // 200 /*quantity.setCellValueFactory( new PropertyValueFactory<ItemVO, Integer>("quantity"));*/ for (final CategoryTypeVO type : typeList) { TableColumn<ItemVO, Integer> col = new TableColumn<ItemVO, Integer>(type.getTypeName()); col.setMinWidth(roundRect.getWidth() * 0.107); // 100 col.setResizable(false); col.setCellValueFactory( new Callback<CellDataFeatures<ItemVO, Integer>, ObservableValue<Integer>>() { @Override public ObservableValue<Integer> call(CellDataFeatures<ItemVO, Integer> item) { ItemVO itemVO = item.getValue(); if (itemVO == null) { return null; // or perhaps // return new ReadOnlyObjectWrapper<Integer>(null); } else { ObservableMap<String, ItemTypeVO> itemTypesMap = FXCollections.observableHashMap(); itemTypesMap = item.getValue().getListType(); return new ReadOnlyObjectWrapper<Integer>( itemTypesMap.get(type.getTypeId()).getQuantity()); } } }); col.setCellFactory( new Callback<TableColumn<ItemVO, Integer>, TableCell<ItemVO, Integer>>() { @Override public TableCell<ItemVO, Integer> call(TableColumn<ItemVO, Integer> paramP) { // TODO Auto-generated method stub return new TableCell<ItemVO, Integer>() { @Override public void updateItem(Integer item, boolean empty) { super.updateItem(item, empty); if (!isEmpty()) { setText(item.toString()); if (item <= 5) { this.getStyleClass().add("celllow"); setTextFill(Color.RED); } } } }; } }); quantity.getColumns().add(col); } if (quantity.getColumns().size() >= 5 && quantity.getColumns().size() <= 7) { itemName.setMinWidth(itemName.getWidth() - (quantity.getColumns().size() - 4) * 100); } if (quantity.getColumns().size() > 7) { itemName.setMinWidth(itemName.getWidth() - ((7 - 4) * 100)); } table1.setItems(dataTable); final TableColumn[] columns1 = {itemName, quantity}; table1.getColumns().addAll(columns1); table1 .getColumns() .addListener( new ListChangeListener() { public boolean suspended; @Override public void onChanged(Change change) { change.next(); if (change.wasReplaced() && !suspended) { this.suspended = true; table1.getColumns().setAll(columns1); this.suspended = false; } } }); /*//final TableView<ItemVO> table2 = new TableView<ItemVO>(); table2.setEditable(false); table2.setMaxSize(roundRect.getWidth()*0.41, roundRect.getHeight()*0.519); table2.setMinSize(roundRect.getWidth()*0.35, roundRect.getHeight()*0.519);//400,300 table2.setStyle("-fx-background-color: transparent;"); TableColumn<ItemVO,String> itemName2 = new TableColumn<ItemVO,String> ("Item"); itemName2.setMinWidth(roundRect.getWidth()*0.3);//200 itemName2.setCellValueFactory( new PropertyValueFactory<ItemVO, String>("itemName")); TableColumn<ItemVO, Integer> quantity2 = new TableColumn<ItemVO, Integer> ("Quantity#"); quantity2.setMinWidth(roundRect.getWidth()*0.107);//200 quantity.setCellValueFactory( new PropertyValueFactory<ItemVO, Integer>("quantity")); for (final CategoryTypeVO type : typeList) { TableColumn<ItemVO, Integer> col2 = new TableColumn<ItemVO, Integer>(type.getTypeName()); col2.setMinWidth(roundRect.getWidth()*0.107);//100 col2.setResizable(false); col2.setCellValueFactory(new Callback<CellDataFeatures<ItemVO,Integer>, ObservableValue<Integer>>() { @Override public ObservableValue<Integer> call(CellDataFeatures<ItemVO,Integer> item) { ItemVO itemVO = item.getValue(); if (itemVO == null) { return null ; // or perhaps // return new ReadOnlyObjectWrapper<Integer>(null); } else { ObservableMap<String,ItemTypeVO> itemTypesMap = FXCollections.observableHashMap(); itemTypesMap = item.getValue().getListType(); return new ReadOnlyObjectWrapper<Integer>(itemTypesMap.get(type.getTypeId()).getQuantity()); } } }); col2.setCellFactory(new Callback<TableColumn<ItemVO,Integer>, TableCell<ItemVO,Integer>>() { @Override public TableCell<ItemVO, Integer> call(TableColumn<ItemVO, Integer> paramP) { // TODO Auto-generated method stub return new TableCell<ItemVO, Integer>(){ @Override public void updateItem(Integer item, boolean empty) { super.updateItem(item, empty); if(item!=null) { setText(item.toString()); if(item<=5) { this.getStyleClass().add("celllow"); setTextFill(Color.RED); } } } }; } }); quantity2.getColumns().add(col2); } table2.setItems(dataTable2); final TableColumn[] columns2 = {itemName2, quantity2}; table2.getColumns().addAll(columns2); table2.getColumns().addListener(new ListChangeListener() { public boolean suspended; @Override public void onChanged(Change change) { change.next(); if (change.wasReplaced() && !suspended) { this.suspended = true; table2.getColumns().setAll(columns2); this.suspended = false; } } });*/ Rectangle qtyRect = RectangleBuilder.create().x(50).y(50).width(10).height(10).build(); qtyRect.setFill(Color.rgb(240, 128, 128)); grid.add(table1, 0, 12); // grid.add(table2,1,12); grid.setAlignment(Pos.TOP_CENTER); Text man_text = new Text(CommonConstants.STAR_MSG); man_text.setFill(Color.DARKKHAKI); man_text.setFont(Font.font("Arial", 12)); Text msg_qty = new Text(CommonConstants.QTY_MSG1); msg_qty.setFill(Color.DARKKHAKI); msg_qty.setFont(Font.font("Arial", 12)); Text msg_qtyLow = new Text(CommonConstants.QTY_LOW); msg_qtyLow.setFill(Color.DARKKHAKI); msg_qtyLow.setFont(Font.font("Arial", 12)); StackPane.setMargin(grid, new Insets(10, 0, 0, 0)); StackPane.setMargin(qtyRect, new Insets(197, 850, 100, 0)); StackPane.setAlignment(qtyRect, Pos.BASELINE_CENTER); StackPane.setMargin(msg_qtyLow, new Insets(197, 765, 100, 0)); StackPane.setAlignment(msg_qtyLow, Pos.BASELINE_CENTER); StackPane.setAlignment(roundRect, Pos.TOP_CENTER); StackPane.setMargin(text5, new Insets(50, 8, 8, 8)); StackPane.setAlignment(text5, Pos.TOP_CENTER); StackPane.setMargin(man_text, new Insets(197, 100, 20, 0)); StackPane.setAlignment(man_text, Pos.BASELINE_RIGHT); StackPane.setMargin(msg_qty, new Insets(210, 95, 20, 0)); StackPane.setAlignment(msg_qty, Pos.BASELINE_RIGHT); stack.getChildren().addAll(text5, roundRect, grid, man_text, msg_qty, qtyRect, msg_qtyLow); } catch (Exception e) { e.printStackTrace(); } return stack; }