/* * Copyright (c) 2013 Patrick Meyer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.itemanalysis.jmetrik.swing; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ChartTitlesDialog extends JDialog{ // Variables declaration - do not modify private JPanel buttonPanel; private JButton cancelButton; private JButton okButton; private JLabel subtitleLabel; private JTextField subtitleTextField; private JLabel titleLabel; private JPanel titlePanel; private JTextField titleTextField; // End of variables declaration public ChartTitlesDialog(Dialog parent){ this(parent, "", ""); } public ChartTitlesDialog(Dialog parent, String title, String subtitle){ super(parent, true); initComponents(); titleTextField.setText(title); subtitleTextField.setText(subtitle); setLocationRelativeTo(parent); setResizable(false); } private void initComponents() { titlePanel = new JPanel(); titleLabel = new JLabel(); titleTextField = new JTextField(); subtitleLabel = new JLabel(); subtitleTextField = new JTextField(); buttonPanel = new JPanel(); okButton = new JButton(); cancelButton = new JButton(); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setTitle("Chart Titles"); titlePanel.setBorder(BorderFactory.createTitledBorder("Titles")); titleLabel.setText("Title"); titleTextField.setMinimumSize(new Dimension(250, 28)); titleTextField.setPreferredSize(new Dimension(250, 28)); subtitleLabel.setText("Subtitle"); subtitleTextField.setMinimumSize(new Dimension(250, 28)); subtitleTextField.setPreferredSize(new Dimension(250, 28)); GroupLayout titlePanelLayout = new GroupLayout(titlePanel); titlePanel.setLayout(titlePanelLayout); titlePanelLayout.setHorizontalGroup( titlePanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup(titlePanelLayout.createSequentialGroup() .addContainerGap() .addGroup(titlePanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(titleLabel) .addComponent(subtitleLabel)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addGroup(titlePanelLayout.createParallelGroup(GroupLayout.Alignment.CENTER) .addComponent(subtitleTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(titleTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); titlePanelLayout.setVerticalGroup( titlePanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup(titlePanelLayout.createSequentialGroup() .addContainerGap() .addGroup(titlePanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(titleLabel) .addComponent(titleTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(titlePanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(subtitleLabel) .addComponent(subtitleTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); okButton.setText("OK"); okButton.setMaximumSize(new Dimension(72, 28)); okButton.setMinimumSize(new Dimension(72, 28)); okButton.setPreferredSize(new Dimension(72, 28)); okButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { setVisible(false); } }); cancelButton.setText("Cancel"); cancelButton.setMaximumSize(new Dimension(72, 28)); cancelButton.setMinimumSize(new Dimension(72, 28)); cancelButton.setPreferredSize(new Dimension(72, 28)); cancelButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { setVisible(false); } }); GroupLayout buttonPanelLayout = new GroupLayout(buttonPanel); buttonPanel.setLayout(buttonPanelLayout); buttonPanelLayout.setHorizontalGroup( buttonPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup(buttonPanelLayout.createSequentialGroup() .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(okButton, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(cancelButton, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addGap(81, 81, 81)) ); buttonPanelLayout.setVerticalGroup( buttonPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup(buttonPanelLayout.createParallelGroup(GroupLayout.Alignment.CENTER) .addComponent(okButton, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(cancelButton, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) ); GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false) .addComponent(titlePanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(buttonPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(titlePanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// </editor-fold> public void setChartTitle(String text){ titleTextField.setText(text.trim()); } public String getChartTitle(){ return titleTextField.getText().trim(); } public void setChartSubtitle(String text){ subtitleTextField.setText(text.trim()); } public String getChartSubtitle(){ return subtitleTextField.getText().trim(); } }