List of usage examples for com.jgoodies.binding.adapter SpinnerToValueModelConnector connect
@SuppressWarnings("unused") public static void connect(SpinnerModel spinnerModel, ValueModel valueModel, Object defaultValue)
From source file:com.songbook.pc.ui.view.MainFormView.java
License:Open Source License
/** * Constructor - creates the MainFormView. * @param presentationModel Presentation model for the view. *///from w w w. j av a2 s.c o m public MainFormView(final MainFormPresentationModel presentationModel) { presentationModel.setFrame(this); PropertyConnector.connectAndUpdate(presentationModel.getTitleModel(), this, "title"); // == LEFT TOOLBAR == editButton = new JButton(presentationModel.getEditAction()); transposeSpinner = new JSpinner(); SpinnerToValueModelConnector.connect(transposeSpinner.getModel(), presentationModel.getTransposeModel(), 0); // == RIGHT TOOLBAR == newButton = new JButton(presentationModel.getNewAction()); saveButton = new JButton(presentationModel.getSaveAction()); exportHtmlButton = new JButton(presentationModel.getExportHtmlAction()); exportLatexButton = new JButton(presentationModel.getExportLatexAction()); exportPDFButton = new JButton(presentationModel.getExportPdfAction()); exportEPubButton = new JButton(presentationModel.getExportEPubAction()); encodingComboBox = BasicComponentFactory.createComboBox(presentationModel.getEncodingModel()); // == MODEL == editorPane = createEditorPane(presentationModel.getEditorModel().getTextModel(), "/css/editorPane.css"); PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getEditableModel(), editorPane, "editable"); PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getContentTypeModel(), editorPane, "contentType"); PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getTextModel(), editorPane, "text"); PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getCaretPositionModel(), editorPane, "caretPosition"); // == BOTTOM TOOLBAR == logPane = createEditorPane(null, "/css/logPane.css"); logPane.setContentType("text/html"); logPane.setEditable(false); // One-Way binding of text property logPane.setText((String) presentationModel.getLogObservingModel().getTextModel().getValue()); presentationModel.getLogObservingModel().getTextModel() .addValueChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { logPane.setText( (String) presentationModel.getLogObservingModel().getTextModel().getValue()); logPane.setCaretPosition(logPane.getDocument().getLength()); } }); // == SONG SELECTION == TableModel tableModel = new SongListTableAdapter( presentationModel.getSongListPresentationModel().getSongListModel()); songSelectionTable = new JTable(tableModel); songSelectionTable.setRowSorter(new TableRowSorter<TableModel>(tableModel)); songSelectionTable.getRowSorter().setSortKeys(Arrays.asList(new RowSorter.SortKey(0, SortOrder.ASCENDING))); bind2Way(songSelectionTable, presentationModel.getSongListPresentationModel().getSongListModel()); if (!presentationModel.getSongListPresentationModel().getSongListModel().isEmpty()) { songSelectionTable.getSelectionModel().setSelectionInterval(0, 0); } // == DO LAYOUT == initLayout(); // == OTHER INITIALIZATION == setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); }