Проблема прозрачности в javaFxJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема прозрачности в javaFx

Сообщение Anonymous »

Одно из окон моей программы — это TextFlow, заполняемое API. Оно работало нормально, окно было полупрозрачным, но через некоторое время объем информации вышел за пределы высоты экрана, поэтому когда я добавил ScrollPane, чтобы компенсировать это, TextFlow повысил прозрачность
Это мой текущий FXML после того, как я попробовал кучу вещей











































































В FXML я попробовал установить -fx-background-color прозрачный, rgb с альфа-каналом, шестнадцатеричный, но ничего не помогло.
Также попробовал установить его при инициализации( ), но пока ничего;
А еще это мой контроллер для FXML
package br.com.cpaps.systemmanager.controllers;

import br.com.cpaps.systemmanager.data.RamaisApi;
import com.fasterxml.jackson.databind.JsonNode;
import javafx.fxml.FXML;
import javafx.geometry.Pos;
import javafx.scene.Cursor;
import javafx.scene.control.Label;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;

import java.util.concurrent.ExecutionException;

public class ramalController {
@FXML
private AnchorPane rootPane;

@FXML
private Label ramalExitButton;

@FXML
private TextFlow ramalTextFlow;

@FXML
public void initialize() throws ExecutionException, InterruptedException {
// Fetch data from the API
RamaisApi apiClient = new RamaisApi();
JsonNode response = apiClient.fetchAllRamals();

if (response != null) {
for (JsonNode ramalNode : response) {
String nome = ramalNode.path("nome").asText();
String ramal = ramalNode.path("ramal").asText();

// Create Text nodes for name and number
Text nameText = new Text(nome);
nameText.setFont(new Font("JetBrains Mono ExtraBold", 13));
nameText.setFill(javafx.scene.paint.Color.WHITE);

Text numberText = new Text(ramal);
numberText.setFont(new Font("JetBrains Mono ExtraBold", 13));
numberText.setFill(javafx.scene.paint.Color.WHITE);

HBox hBox = new HBox();
hBox.setOpacity(0.8);
hBox.setSpacing(10);
hBox.setMaxHeight(200);
hBox.setId("ramalSet");

HBox nameBox = new HBox(nameText);
nameBox.setPrefWidth(200);
nameBox.setPrefHeight(10);
nameBox.setAlignment(Pos.CENTER_LEFT);

nameText.wrappingWidthProperty().bind(nameBox.widthProperty());

HBox numberBox = new HBox(numberText);
numberBox.setPrefWidth(60);
numberBox.setPrefHeight(10);
numberBox.setAlignment(Pos.CENTER_LEFT);

numberText.wrappingWidthProperty().bind(numberBox.widthProperty());

hBox.getChildren().addAll(nameBox, numberBox);
hBox.setOnMouseClicked(event -> {
apiClient.pushCall(ramal);
close();
});
hBox.setOnMouseEntered(event -> {
hBox.setOpacity(1);
hBox.setCursor(Cursor.HAND);
});
hBox.setOnMouseExited(event -> {
hBox.setOpacity(0.8);
hBox.setCursor(Cursor.HAND);
});
ramalTextFlow.getChildren().add(hBox);
}
}
}
@FXML
public void close(){
Stage currentStage = (Stage) rootPane.getScene().getWindow();
currentStage.close();
}
@FXML
public void displayExit(MouseEvent event){
ramalExitButton.setOpacity(1);
}

@FXML
public void hideExit(MouseEvent event){
ramalExitButton.setOpacity(0.5);
}
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... -in-javafx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»