从我的程序中我收到此错误: Eclipse console output
我要做的就是使用按钮上的悬停效果将文本变为白色。 这是我的代码: Main.java:
import java.util.Date;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.TableView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Pane mainPane = (Pane) FXMLLoader.load(Main.class.getResource("Main.fxml"));
primaryStage.setScene(new Scene(mainPane));
primaryStage.show();
}
}
这是我的Main.fxml文件:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.image.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="318.0" prefWidth="1000.0" stylesheets="@myStyle.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="MyController">
<children>
<TextField fx:id="tf_input" alignment="BOTTOM_RIGHT" editable="true" layoutX="450.0" layoutY="22.0" prefHeight="35.0" prefWidth="300.0" styleClass="display">
<font>
<Font name="Lucida Console" size="20.0" />
</font>
<effect>
<DropShadow />
</effect>
</TextField>
<Button fx:id="bOne" layoutX="472.0" layoutY="102.0" mnemonicParsing="false" onAction="#click1" prefHeight="35.0" prefWidth="64.0" text="1" />
<Button fx:id="bTwo" layoutX="536.0" layoutY="102.0" mnemonicParsing="false" onAction="#click2" prefHeight="35.0" prefWidth="64.0" text="2" />
<Button fx:id="bThree" layoutX="600.0" layoutY="102.0" mnemonicParsing="false" onAction="#click3" prefHeight="35.0" prefWidth="64.0" text="3" />
<Button fx:id="bSix" layoutX="600.0" layoutY="137.0" mnemonicParsing="false" onAction="#click6" prefHeight="35.0" prefWidth="64.0" text="6" />
<Button fx:id="bFive" layoutX="536.0" layoutY="137.0" mnemonicParsing="false" onAction="#click5" prefHeight="35.0" prefWidth="64.0" text="5" />
<Button fx:id="bFour" layoutX="472.0" layoutY="137.0" mnemonicParsing="false" onAction="#click4" prefHeight="35.0" prefWidth="64.0" text="4" />
<Button fx:id="bNine" layoutX="600.0" layoutY="172.0" mnemonicParsing="false" onAction="#click9" prefHeight="35.0" prefWidth="64.0" text="9" />
<Button fx:id="bEight" layoutX="536.0" layoutY="172.0" mnemonicParsing="false" onAction="#click8" prefHeight="35.0" prefWidth="64.0" text="8" />
<Button fx:id="bSeven" layoutX="472.0" layoutY="172.0" mnemonicParsing="false" onAction="#click7" prefHeight="35.0" prefWidth="64.0" text="7" />
<Button fx:id="bB" layoutX="536.0" layoutY="207.0" mnemonicParsing="false" onAction="#clickB" prefHeight="35.0" prefWidth="64.0" text="B" />
<Button fx:id="bA" layoutX="472.0" layoutY="207.0" mnemonicParsing="false" onAction="#clickA" prefHeight="35.0" prefWidth="64.0" text="A" />
<Button fx:id="bZero" layoutX="472.0" layoutY="68.0" mnemonicParsing="false" onAction="#click0" prefHeight="35.0" prefWidth="64.0" text="0" />
<Button fx:id="bE" layoutX="536.0" layoutY="242.0" mnemonicParsing="false" onAction="#clickE" prefHeight="35.0" prefWidth="64.0" text="E" />
<Button fx:id="bD" layoutX="472.0" layoutY="242.0" mnemonicParsing="false" onAction="#clickD" prefHeight="35.0" prefWidth="64.0" text="D" />
<Button fx:id="bC" layoutX="600.0" layoutY="207.0" mnemonicParsing="false" onAction="#clickC" prefHeight="35.0" prefWidth="64.0" text="C" />
<Button fx:id="bF" layoutX="600.0" layoutY="242.0" mnemonicParsing="false" onAction="#clickF" prefHeight="35.0" prefWidth="64.0" text="F" />
<Button fx:id="bPlus" layoutX="664.0" layoutY="102.0" mnemonicParsing="false" onAction="#clickplus" prefHeight="35.0" prefWidth="64.0" text="+" />
<Button fx:id="bMinus" layoutX="664.0" layoutY="137.0" mnemonicParsing="false" onAction="#clickminus" prefHeight="35.0" prefWidth="64.0" text="-" />
<Button fx:id="bDivide" layoutX="664.0" layoutY="207.0" mnemonicParsing="false" onAction="#clickdivide" prefHeight="35.0" prefWidth="64.0" text="/" />
<Button fx:id="bTimes" layoutX="664.0" layoutY="172.0" mnemonicParsing="false" onAction="#clicktimes" prefHeight="35.0" prefWidth="64.0" text="*" />
<Button fx:id="bEquals" layoutX="664.0" layoutY="242.0" mnemonicParsing="false" onAction="#clickequals" prefHeight="35.0" prefWidth="64.0" text="=" />
<Label alignment="CENTER" layoutX="798.0" layoutY="21.0" prefHeight="23.0" prefWidth="161.0" styleClass="display" text="Output:">
<font>
<Font name="Lucida Console" size="20.0" />
</font>
</Label>
<TextField fx:id="tf_output" alignment="BOTTOM_RIGHT" editable="false" layoutX="769.0" layoutY="68.0" prefHeight="153.0" prefWidth="219.0" styleClass="display">
<font>
<Font name="Lucida Console" size="20.0" />
</font>
<effect>
<InnerShadow />
</effect>
</TextField>
<Button fx:id="bAc" layoutX="600.0" layoutY="68.0" mnemonicParsing="false" onAction="#clickclear" prefHeight="35.0" prefWidth="64.0" text="AC" />
<Button fx:id="bDel" layoutX="536.0" layoutY="68.0" mnemonicParsing="false" onAction="#clickdel" prefHeight="35.0" prefWidth="64.0" text="DEL" />
<Button fx:id="bSquare" layoutX="664.0" layoutY="68.0" mnemonicParsing="false" onAction="#clicksquare" prefHeight="35.0" prefWidth="64.0" text="^2" />
<RadioButton fx:id="Insixteen" layoutX="50.0" layoutY="121.0" mnemonicParsing="false" onAction="#clickin16" selected="true" text="Base 16 (Hex)" />
<RadioButton fx:id="Inten" layoutX="50.0" layoutY="87.0" mnemonicParsing="false" onAction="#clickin10" text="Base 10 (Denary)" />
<RadioButton fx:id="Intwo" layoutX="50.0" layoutY="53.0" mnemonicParsing="false" onAction="#clickin2" text="Base 2 (Binary)" />
<Label alignment="BOTTOM_RIGHT" layoutX="50.0" layoutY="22.0" prefHeight="21.0" prefWidth="136.0" text="Base Input:" underline="true">
<font>
<Font name="Lucida Console" size="20.0" />
</font>
</Label>
<Label alignment="BOTTOM_RIGHT" layoutX="234.0" layoutY="22.0" prefHeight="21.0" prefWidth="147.0" text="Base Output:" underline="true">
<font>
<Font name="Lucida Console" size="20.0" />
</font>
</Label>
<RadioButton fx:id="Outtwo" layoutX="234.0" layoutY="53.0" mnemonicParsing="false" onAction="#clickout2" text="Base 2 (Binary)" />
<RadioButton fx:id="Outten" layoutX="234.0" layoutY="87.0" mnemonicParsing="false" onAction="#clickout10" selected="true" text="Base 10 (Denary)" />
<RadioButton fx:id="Outsixteen" layoutX="234.0" layoutY="121.0" mnemonicParsing="false" onAction="#clickout16" text="Base 16 (Hex)" />
</children>
</Pane>
这是MyController.java:
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField;
public class MyController {
@FXML
private RadioButton Inten;
@FXML
private Button bMinus;
@FXML
private Button bTimes;
@FXML
private Button bOne;
@FXML
private Button bSix;
@FXML
private Button bDivide;
@FXML
private Button bEquals;
@FXML
private TextField tf_output;
@FXML
private Button bThree;
@FXML
private Button bPlus;
@FXML
private RadioButton Outten;
@FXML
private Button bA;
@FXML
private RadioButton Intwo;
@FXML
private Button bB;
@FXML
private Button bC;
@FXML
private Button bD;
@FXML
private Button bE;
@FXML
private Button bF;
@FXML
private Button bDel;
@FXML
private Button bZero;
@FXML
private Button bAc;
@FXML
private TextField tf_input;
@FXML
private Button bTwo;
@FXML
private RadioButton Outtwo;
@FXML
private Button bSquare;
@FXML
private RadioButton Outsixteen;
@FXML
private Button bFour;
@FXML
private Button bFive;
@FXML
private Button bEight;
@FXML
private Button bSeven;
@FXML
private RadioButton Insixteen;
@FXML
private Button bNine;
@FXML
void click1(ActionEvent event) {
}
@FXML
void click2(ActionEvent event) {
}
@FXML
void click3(ActionEvent event) {
}
@FXML
void click6(ActionEvent event) {
}
@FXML
void click5(ActionEvent event) {
}
@FXML
void click4(ActionEvent event) {
}
@FXML
void click9(ActionEvent event) {
}
@FXML
void click8(ActionEvent event) {
}
@FXML
void click7(ActionEvent event) {
}
@FXML
void clickB(ActionEvent event) {
}
@FXML
void clickA(ActionEvent event) {
}
@FXML
void click0(ActionEvent event) {
}
@FXML
void clickE(ActionEvent event) {
}
@FXML
void clickD(ActionEvent event) {
}
@FXML
void clickC(ActionEvent event) {
}
@FXML
void clickF(ActionEvent event) {
}
@FXML
void clickplus(ActionEvent event) {
}
@FXML
void clickminus(ActionEvent event) {
}
@FXML
void clickdivide(ActionEvent event) {
}
@FXML
void clicktimes(ActionEvent event) {
}
@FXML
void clickequals(ActionEvent event) {
}
@FXML
void clickclear(ActionEvent event) {
}
@FXML
void clickdel(ActionEvent event) {
}
@FXML
void clicksquare(ActionEvent event) {
}
@FXML
void clickin16(ActionEvent event) {
}
@FXML
void clickin10(ActionEvent event) {
}
@FXML
void clickin2(ActionEvent event) {
}
@FXML
void clickout2(ActionEvent event) {
}
@FXML
void clickout10(ActionEvent event) {
}
@FXML
void clickout16(ActionEvent event) {
}
}
最后这是我的myStyle.css文件:
@charset "ISO-8859-1";
.button:hover{
-fx-text-fill: #fffff;
}
到目前为止,我只有一个月的时间进行编程,所以请不要激怒我的代码或我的轻松滑倒。所有感谢提前帮助解决问题,我一直在使用场景构建器和CSS样式表不到一天,但我需要快速进步,因为我没有像我今年剩下的时间编程近5年
答案 0 :(得分:0)
JavaFX CSS不支持完整的CSS规范;只是它的一个子集。特别是,唯一的“@ -Rules”listed as supported是JFrame Fenetre = new JFrame ("Calculatrice");
JButton Bouton0 = new JButton("0");
JButton Bouton1 = new JButton("1");
JButton Bouton2 = new JButton("2");
JButton Bouton3 = new JButton("3");
JButton Bouton4 = new JButton("4");
JButton Bouton5 = new JButton("5");
JButton Bouton6 = new JButton("6");
JButton Bouton7 = new JButton("7");
JButton Bouton8 = new JButton("8");
JButton Bouton9 = new JButton("9");
JButton BoutonVirgule = new JButton(",");
JButton BoutonSigne = new JButton("+/-");
JButton BoutonAddition = new JButton("+");
JButton BoutonSoustraction = new JButton("-");
JButton BoutonMultiplication = new JButton("x");
JButton BoutonDivision = new JButton("/");
JButton BoutonPush = new JButton("PUSH");
JButton BoutonSwap = new JButton("<->");
JPanel Chiffres = new JPanel();
Chiffres.setLayout(new GridLayout(4,3));
Chiffres.add(Bouton7);
Chiffres.add(Bouton8);
Chiffres.add(Bouton9);
Chiffres.add(Bouton4);
Chiffres.add(Bouton5);
Chiffres.add(Bouton6);
Chiffres.add(Bouton1);
Chiffres.add(Bouton2);
Chiffres.add(Bouton3);
Chiffres.add(BoutonVirgule);
Chiffres.add(Bouton0);
Chiffres.add(BoutonSigne);
JPanel Cases = new JPanel();
Cases.setLayout(new GridLayout(5,1));
Cases.add(Ligne1);
Cases.add(Ligne2);
Cases.add(Ligne3);
Cases.add(Ligne4);
Cases.add(Ligne5);
JPanel Operateurs = new JPanel();
Operateurs.setLayout(new GridLayout(3,2));
Operateurs.add(BoutonAddition);
Operateurs.add(BoutonSoustraction);
Operateurs.add(BoutonMultiplication);
Operateurs.add(BoutonDivision);
Operateurs.add(BoutonSwap);
Operateurs.add(BoutonPush);
JPanel Bas = new JPanel();
Bas.add(Chiffres);
Bas.add(Operateurs);
Fenetre.getContentPane().add(Bas,BorderLayout.CENTER);
Fenetre.getContentPane().add(Cases,BorderLayout.NORTH);
Fenetre.pack();
Fenetre.setVisible(true);
Fenetre.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
和@import
。因此,不支持第一行中的@font-face
规则。
删除CSS文件的第一行(包含@charset
)将使CSS文件得以解析。
此外,您声明希望文字在悬停时变为白色:您需要@charset
(六个'#ffffff
');你有f
(只有五个'#fffff
)。