Одно из окон моей программы — это 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
Проблема прозрачности в javaFx ⇐ JAVA
Программисты JAVA общаются здесь
1722601184
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);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78825436/transparency-issue-in-javafx[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия