ΦXo*_*a ツ 2 java textarea javafx
我正在尝试开发一个看起来像终端机的应用程序,正在使用TextArea,但我希望是黑色背景和绿色文字,
我想在不使用任何ccs模板的情况下做到这一点
我知道我的问题看起来像是在这里重复的:
要么
但是在阅读了这些内容并尝试了他们的建议之后,我发现没有运气可以解决我的问题
到目前为止我尝试过的是:
在FXML中:
<TextArea
fx:id="terminalTextArea"
layoutX="14.0"
layoutY="85.0"
prefHeight="64.0"
prefWidth="402.0"
style="-fx-font-family: Consolas; -fx-highlight-fill: #00ff00; -fx-highlight-text-fill: #000000; -fx-text-fill: #00ff00; -fx-background-color:#000000;"
text="Terminal"
AnchorPane.leftAnchor="10.0"
AnchorPane.rightAnchor="10.0">
<font>
<Font name="System Bold" size="14.0" />
</font>
</TextArea>
Run Code Online (Sandbox Code Playgroud)
但没有运气....
并在源代码中:
@Override
public void initialize(URL url, ResourceBundle rb) {
System.out.println("init here");
terminalTextArea.setStyle("-fx-text-fill: black;");
}
Run Code Online (Sandbox Code Playgroud)
我唯一得到的是带有边框的颜色,如下图所示。
你们中的任何一个人以前有同样的问题吗????
提前发送
建议的方法是使用外部CSS文件,如您链接的示例中所示。
如果由于某种原因您不想这样做,请尝试
style="-fx-control-inner-background:#000000; -fx-font-family: Consolas; -fx-highlight-fill: #00ff00; -fx-highlight-text-fill: #000000; -fx-text-fill: #00ff00; "
Run Code Online (Sandbox Code Playgroud)
在您的FXML文件中,或等效地
terminalTextArea.setStyle("-fx-control-inner-background:#000000; -fx-font-family: Consolas; -fx-highlight-fill: #00ff00; -fx-highlight-text-fill: #000000; -fx-text-fill: #00ff00; ");
Run Code Online (Sandbox Code Playgroud)
在控制器的initialize()方法中。
SSCCE:
StyledTextArea.fxml:
style="-fx-control-inner-background:#000000; -fx-font-family: Consolas; -fx-highlight-fill: #00ff00; -fx-highlight-text-fill: #000000; -fx-text-fill: #00ff00; "
Run Code Online (Sandbox Code Playgroud)
和一个测试类:
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class StyledTextArea extends Application {
@Override
public void start(Stage primaryStage) throws IOException {
primaryStage.setScene(new Scene(
FXMLLoader.load(getClass().getResource("StyledTextArea.fxml"))
));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10797 次 |
| 最近记录: |