我正在使用JavaFx Print-Dialog来自定义打印作业.所有属性都将存储在PrinterJob#JobSettings变量中,但是当我从jobSetting接收纸张来源时,纸张来源始终是默认值.
如何获得我设置的纸张来源?
这是一个简短的例子:
public class PrinterPaperSourceTest extends Application {
public static void main(String[] args) {
launch( args );
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Printer");
Button btn = new Button();
btn.setText("Show Printer Settings ");
btn.setOnAction( new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
PrinterJob job = PrinterJob.createPrinterJob(Printer.getDefaultPrinter());
job.showPageSetupDialog(null);
Alert alert = new Alert(AlertType.INFORMATION);
PaperSource paperSource = job.getJobSettings().getPaperSource();
alert.setContentText("PaperSource: " + paperSource.getName());
alert.show();
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
Run Code Online (Sandbox Code Playgroud) 我对 SwingX 组件有一个小问题。
\n\n在我的应用程序中,我使用 JXTable 并在桌子上注册了 MouseOver ColorHighlighter。表的模型定义了两列;一个字符串列和一个布尔列。JXTable 中布尔列的默认呈现器是复选框。现在的问题是,当鼠标在行上移动时,ColorHighlighter 以不同的颜色突出显示列;布尔列比字符串列更暗。\n在示例中您可以看到该行为。
\n\n我希望所有列都以相同的颜色突出显示。
\n\n有人有解决问题的想法吗?
\n\n
\n\nimport java.awt.BorderLayout;\nimport java.awt.Color;\n\nimport javax.swing.JFrame;\nimport javax.swing.JScrollPane;\nimport javax.swing.table.DefaultTableModel;\n\nimport org.jdesktop.swingx.JXTable;\nimport org.jdesktop.swingx.decorator.ColorHighlighter;\nimport org.jdesktop.swingx.decorator.HighlightPredicate;\n\n\npublic class BooleanHighlighterDemo\n{\n public static void main( String args[] )\n {\n JFrame frame = new JFrame( "Boolean Highlighter" );\n frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );\n\n JXTable table = new JXTable( new BooleanTableModel() );\n\n //Add ColorHighlighter\n table.addHighlighter( new ColorHighlighter( HighlightPredicate.ROLLOVER_ROW,\n new Color( 0x330000ff, true ), Color.BLACK ) );\n\n frame.add( new JScrollPane( table ), BorderLayout.CENTER );\n frame.setSize( …
Run Code Online (Sandbox Code Playgroud)