/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview 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. * * Jalview 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 Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.jbgui; import jalview.gui.JvSwingUtils; import jalview.util.MessageManager; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; /** * DOCUMENT ME! * * @author $author$ * @version $Revision$ */ public class GFontChooser extends JPanel { private static final Font VERDANA_11PT = new java.awt.Font("Verdana", 0, 11); protected JComboBox fontSize = new JComboBox(); protected JComboBox fontStyle = new JComboBox(); protected JComboBox fontName = new JComboBox(); protected JButton defaultButton = new JButton(); protected JCheckBox smoothFont = new JCheckBox(); protected JCheckBox monospaced = new JCheckBox(); protected JCheckBox scaleAsCdna = new JCheckBox(); protected JCheckBox fontAsCdna = new JCheckBox(); /** * Creates a new GFontChooser object. */ public GFontChooser() { try { jbInit(); } catch (Exception e) { e.printStackTrace(); } } /** * DOCUMENT ME! * * @throws Exception * DOCUMENT ME! */ private void jbInit() throws Exception { this.setLayout(null); this.setBackground(Color.white); JLabel fontLabel = new JLabel(MessageManager.getString("label.font")); fontLabel.setFont(VERDANA_11PT); fontLabel.setHorizontalAlignment(SwingConstants.RIGHT); fontLabel.setVerticalTextPosition(javax.swing.SwingConstants.CENTER); fontSize.setFont(VERDANA_11PT); fontSize.setOpaque(false); fontSize.setPreferredSize(new Dimension(50, 21)); fontSize.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(ActionEvent e) { fontSize_actionPerformed(); } }); fontStyle.setFont(VERDANA_11PT); fontStyle.setOpaque(false); fontStyle.setPreferredSize(new Dimension(90, 21)); fontStyle.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(ActionEvent e) { fontStyle_actionPerformed(); } }); JLabel sizeLabel = new JLabel(MessageManager.getString("label.size")); sizeLabel.setFont(VERDANA_11PT); sizeLabel.setHorizontalAlignment(SwingConstants.RIGHT); sizeLabel.setVerticalTextPosition(javax.swing.SwingConstants.CENTER); JLabel styleLabel = new JLabel(MessageManager.getString("label.style")); styleLabel.setFont(VERDANA_11PT); styleLabel.setHorizontalAlignment(SwingConstants.RIGHT); styleLabel.setVerticalTextPosition(javax.swing.SwingConstants.CENTER); fontName.setFont(VERDANA_11PT); fontName.setMaximumSize(new Dimension(32767, 32767)); fontName.setMinimumSize(new Dimension(300, 21)); fontName.setOpaque(false); fontName.setPreferredSize(new Dimension(180, 21)); fontName.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(ActionEvent e) { fontName_actionPerformed(); } }); JButton ok = new JButton(MessageManager.getString("action.ok")); ok.setFont(VERDANA_11PT); ok.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(ActionEvent e) { ok_actionPerformed(); } }); JButton cancel = new JButton(MessageManager.getString("action.cancel")); cancel.setFont(VERDANA_11PT); cancel.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(ActionEvent e) { cancel_actionPerformed(); } }); defaultButton.setFont(JvSwingUtils.getLabelFont()); defaultButton.setText(MessageManager.getString("label.set_as_default")); defaultButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { defaultButton_actionPerformed(); } }); smoothFont.setFont(JvSwingUtils.getLabelFont()); smoothFont.setOpaque(false); smoothFont.setText(MessageManager.getString("label.anti_alias_fonts")); smoothFont.setBounds(new Rectangle(1, 65, 300, 23)); smoothFont.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { smoothFont_actionPerformed(); } }); /* * Scale protein as cDNA is only visible in SplitFrame */ scaleAsCdna.setVisible(false); scaleAsCdna.setFont(JvSwingUtils.getLabelFont()); scaleAsCdna.setOpaque(false); scaleAsCdna.setText(MessageManager.getString("label.scale_as_cdna")); scaleAsCdna.setBounds(new Rectangle(1, 85, 300, 23)); scaleAsCdna.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { scaleAsCdna_actionPerformed(); } }); /* * Same font for cDNA/peptide is only visible in SplitFrame */ fontAsCdna.setVisible(false); fontAsCdna.setFont(JvSwingUtils.getLabelFont()); fontAsCdna.setOpaque(false); fontAsCdna.setText(MessageManager.getString("label.font_as_cdna")); fontAsCdna.setBounds(new Rectangle(1, 105, 350, 23)); fontAsCdna.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { mirrorFonts_actionPerformed(); } }); monospaced.setEnabled(false); monospaced.setFont(JvSwingUtils.getLabelFont()); monospaced.setOpaque(false); monospaced.setToolTipText(MessageManager .getString("label.monospaced_fonts_faster_to_render")); monospaced.setText(MessageManager.getString("label.monospaced_font")); /* * jPanel1: Font dropdown, Monospaced checkbox */ JPanel jPanel1 = new JPanel(); jPanel1.setOpaque(false); jPanel1.setBounds(new Rectangle(5, 6, 308, 23)); jPanel1.setLayout(new BorderLayout()); jPanel1.add(fontLabel, BorderLayout.WEST); jPanel1.add(fontName, BorderLayout.CENTER); jPanel1.add(monospaced, java.awt.BorderLayout.EAST); /* * jPanel2: font size dropdown */ JPanel jPanel2 = new JPanel(); jPanel2.setOpaque(false); jPanel2.setBounds(new Rectangle(5, 37, 128, 21)); jPanel2.setLayout(new BorderLayout()); jPanel2.add(fontSize, java.awt.BorderLayout.CENTER); jPanel2.add(sizeLabel, java.awt.BorderLayout.WEST); /* * jPanel3: font style dropdown */ JPanel jPanel3 = new JPanel(); jPanel3.setOpaque(false); jPanel3.setBounds(new Rectangle(174, 38, 134, 21)); jPanel3.setLayout(new BorderLayout()); jPanel3.add(styleLabel, java.awt.BorderLayout.WEST); jPanel3.add(fontStyle, java.awt.BorderLayout.CENTER); /* * jPanel4: Default and OK buttons */ JPanel jPanel4 = new JPanel(); jPanel4.setOpaque(false); jPanel4.setBounds(new Rectangle(24, 132, 300, 35)); jPanel4.add(defaultButton); jPanel4.add(ok); jPanel4.add(cancel); this.add(smoothFont); this.add(scaleAsCdna); this.add(fontAsCdna); this.add(jPanel3, null); this.add(jPanel2, null); this.add(jPanel4); this.add(jPanel1, null); } protected void mirrorFonts_actionPerformed() { } protected void scaleAsCdna_actionPerformed() { } protected void ok_actionPerformed() { } protected void cancel_actionPerformed() { } protected void fontName_actionPerformed() { } protected void fontSize_actionPerformed() { } protected void fontStyle_actionPerformed() { } public void defaultButton_actionPerformed() { } protected void smoothFont_actionPerformed() { } }