Dans JavaFX2.2, comment définir la taille de la police pour le texte saisi dans les champs de saisie et les en-têtes de tableau?
Dans mon JavaFX2.2 fxml programme, je trouve que les polices ne sont pas à l'échelle correctement. En conséquence, la table des en-têtes et les données d'entrée sont les champs disproportionnée.
Est-il possible de définir la taille de police pour le texte entré dans les champs de saisie?
Est-il possible de définir la taille de police du texte affiché dans la table des en-têtes?
SCCE
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.cell.*?>
<?import javafx.collections.*?>
<?import fxmltableview.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.collections.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>
<?import javafx.collections.*?>
<?import java.lang.*?>
<?import fxmltableview.Person?>
<Scene xmlns:fx="http://javafx.com/fxml" >
<GridPane alignment="center" hgap="10" vgap="10">
<padding>
<Insets top="10" right="10" bottom="10" left="10"/>
</padding>
<Label text="Address Book: This text is in font size 12 on Win7" GridPane.columnIndex="0" GridPane.rowIndex="0">
<font>
<Font size="12.0"/>
</font>
</Label>
<TextField fx:id="textField" GridPane.columnIndex="0" GridPane.rowIndex="1">
input text field. See how large I am!!!
</TextField>
<TableView GridPane.columnIndex="0" GridPane.rowIndex="2">
<columns>
<TableColumn text="First Name">
<cellValueFactory>
<PropertyValueFactory property="firstName" />
</cellValueFactory>
</TableColumn>
<TableColumn text="Last Name">
<cellValueFactory>
<PropertyValueFactory property="lastName" />
</cellValueFactory>
</TableColumn>
<TableColumn text="Email Address">
<cellValueFactory>
<PropertyValueFactory property="email" />
</cellValueFactory>
</TableColumn>
</columns>
<items>
<FXCollections fx:factory="observableArrayList">
<Person firstName="Jacob" lastName="Smith"
email="[email protected]"/>
<Person firstName="Isabella" lastName="Johnson"
email="[email protected]"/>
<Person firstName="Ethan" lastName="Williams"
email="[email protected]"/>
<Person firstName="Emma" lastName="Jones"
email="[email protected]"/>
<Person firstName="Michael" lastName="Brown"
email="[email protected]"/>
</FXCollections>
</items>
</TableView>
</GridPane>
</Scene>
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package fxmltableview;
import javafx.beans.property.SimpleStringProperty;
public class Person {
private final SimpleStringProperty firstName = new SimpleStringProperty("");
private final SimpleStringProperty lastName = new SimpleStringProperty("");
private final SimpleStringProperty email = new SimpleStringProperty("");
public Person() {
this("", "", "");
}
public Person(String firstName, String lastName, String email) {
setFirstName(firstName);
setLastName(lastName);
setEmail(email);
}
public String getFirstName() {
return firstName.get();
}
public void setFirstName(String fName) {
firstName.set(fName);
}
public String getLastName() {
return lastName.get();
}
public void setLastName(String fName) {
lastName.set(fName);
}
public String getPrimary() {
return getEmail();
}
public String getSecondary() {
return getEmail();
}
public String getEmail() {
return email.get();
}
public void setEmail(String fName) {
email.set(fName);
}
}
public class FXMLTableViewController implements Initializable {
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
label.setText("Hello World!");
}
@Override
public void initialize(URL url, ResourceBundle rb) {
//TODO
}
}
package fxmltableview;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
*
* @author
*/
public class FXMLTableView extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("FXML TableView Example");
primaryStage.setScene
((Scene)FXMLLoader.load(getClass().getResource("fxml_tableview.fxml")));
primaryStage.show();
}
/**
* The main() method is ignored in correctly deployed JavaFX application.
* main() serves only as fallback in case the application can not be
* launched through deployment artifacts, e.g., in IDEs with limited FX
* support. NetBeans ignores main().
*
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
Vous pouvez remplacer le
Pourriez-vous proviced un sscce.
Ce n'est pas vraiment un Court, Autonome, Correct (Compilable), Exemple
vous avez raison, et je m'en excuse. J'ai ajouté la SCCE.
merci pour le tip - il aidé à résoudre le problème!
-fx-font-size
des commandes correspondantes dans un fichier CSS.Pourriez-vous proviced un sscce.
Ce n'est pas vraiment un Court, Autonome, Correct (Compilable), Exemple
vous avez raison, et je m'en excuse. J'ai ajouté la SCCE.
merci pour le tip - il aidé à résoudre le problème!
OriginalL'auteur likejudo | 2013-09-20
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé ces articles utiles par Marco et par Rob
Donc Je
1) modifié manuellement la largeur de la colonne de la table
2) Ajout d'un lien dans le fichier fxml
3) crée un fichier css tfffontsize.css
1.2em
pour les grandes polices ou0.8em
pour les plus petits par exemple. Donc, si vous changez la police par défaut, il va ajuster en conséquence.OriginalL'auteur likejudo