X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGFontChooser.java;h=8c893a23a901ccc10d9f3404e6da230eccaf9f2f;hb=37de9310bec3501cbc6381e0c3dcb282fcaad812;hp=f93911ac094f45380aa5cb91e813be229c9d4b1b;hpb=20218c4363eb72de86c248b464e1c1f946d8231f;p=jalview.git diff --git a/src/jalview/jbgui/GFontChooser.java b/src/jalview/jbgui/GFontChooser.java index f93911a..8c893a2 100755 --- a/src/jalview/jbgui/GFontChooser.java +++ b/src/jalview/jbgui/GFontChooser.java @@ -1,47 +1,99 @@ +/* + * 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 javax.swing.*; -import java.awt.*; -import java.awt.event.*; +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 { - JLabel jLabel1 = new JLabel(); - protected JComboBox fontSize = new JComboBox(); - protected JComboBox fontStyle = new JComboBox(); - JLabel jLabel2 = new JLabel(); - JLabel jLabel3 = new JLabel(); - protected JComboBox fontName = new JComboBox(); - JButton ok = new JButton(); - JButton cancel = new JButton(); - JPanel jPanel1 = new JPanel(); - JPanel jPanel2 = new JPanel(); - JPanel jPanel3 = new JPanel(); - BorderLayout borderLayout1 = new BorderLayout(); - BorderLayout borderLayout2 = new BorderLayout(); - BorderLayout borderLayout3 = new BorderLayout(); - FlowLayout flowLayout1 = new FlowLayout(); + 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(); + /** + * Creates a new GFontChooser object. + */ public GFontChooser() { try { jbInit(); - } - catch(Exception e) + } catch (Exception e) { e.printStackTrace(); } } + + /** + * DOCUMENT ME! + * + * @throws Exception + * DOCUMENT ME! + */ private void jbInit() throws Exception { - jLabel1.setFont(new java.awt.Font("Verdana", 0, 11)); - jLabel1.setHorizontalAlignment(SwingConstants.RIGHT); - jLabel1.setText("Font: "); - jLabel1.setVerticalTextPosition(javax.swing.SwingConstants.CENTER); - this.setLayout(flowLayout1); - fontSize.setFont(new java.awt.Font("Verdana", 0, 11)); + 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() @@ -51,7 +103,8 @@ public class GFontChooser extends JPanel fontSize_actionPerformed(e); } }); - fontStyle.setFont(new java.awt.Font("Verdana", 0, 11)); + + fontStyle.setFont(VERDANA_11PT); fontStyle.setOpaque(false); fontStyle.setPreferredSize(new Dimension(90, 21)); fontStyle.addActionListener(new java.awt.event.ActionListener() @@ -61,15 +114,18 @@ public class GFontChooser extends JPanel fontStyle_actionPerformed(e); } }); - jLabel2.setFont(new java.awt.Font("Verdana", 0, 11)); - jLabel2.setHorizontalAlignment(SwingConstants.RIGHT); - jLabel2.setText("Size: "); - jLabel2.setVerticalTextPosition(javax.swing.SwingConstants.CENTER); - jLabel3.setFont(new java.awt.Font("Verdana", 0, 11)); - jLabel3.setHorizontalAlignment(SwingConstants.RIGHT); - jLabel3.setText("Style: "); - jLabel3.setVerticalTextPosition(javax.swing.SwingConstants.CENTER); - fontName.setFont(new java.awt.Font("Verdana", 0, 11)); + + 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); @@ -81,8 +137,9 @@ public class GFontChooser extends JPanel fontName_actionPerformed(e); } }); - ok.setFont(new java.awt.Font("Verdana", 0, 11)); - ok.setText("OK"); + + JButton ok = new JButton(MessageManager.getString("action.ok")); + ok.setFont(VERDANA_11PT); ok.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) @@ -90,8 +147,9 @@ public class GFontChooser extends JPanel ok_actionPerformed(e); } }); - cancel.setFont(new java.awt.Font("Verdana", 0, 11)); - cancel.setText("Cancel"); + + JButton cancel = new JButton(MessageManager.getString("action.cancel")); + cancel.setFont(VERDANA_11PT); cancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) @@ -99,50 +157,167 @@ public class GFontChooser extends JPanel cancel_actionPerformed(e); } }); - this.setBackground(Color.white); + + defaultButton.setFont(JvSwingUtils.getLabelFont()); + defaultButton.setText(MessageManager.getString("label.set_as_default")); + defaultButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + defaultButton_actionPerformed(e); + } + }); + + smoothFont.setFont(JvSwingUtils.getLabelFont()); + smoothFont.setOpaque(false); + smoothFont.setText(MessageManager.getString("label.anti_alias_fonts")); + smoothFont.setBounds(new Rectangle(41, 65, 260, 23)); + smoothFont.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + smoothFont_actionPerformed(e); + } + }); + + /* + * Scale protein as cDNA is only visible in SplitFrame protein alignment + */ + scaleAsCdna.setVisible(false); + scaleAsCdna.setFont(JvSwingUtils.getLabelFont()); + scaleAsCdna.setOpaque(false); + scaleAsCdna.setText(MessageManager.getString("label.scale_as_cdna")); + scaleAsCdna.setBounds(new Rectangle(41, 85, 260, 23)); + scaleAsCdna.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + scaleAsCdna_actionPerformed(e); + } + }); + + 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.setLayout(borderLayout1); + 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.setLayout(borderLayout3); + 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.setLayout(borderLayout2); - flowLayout1.setAlignment(FlowLayout.CENTER); - flowLayout1.setVgap(5); - this.add(jPanel1, null); - jPanel1.add(jLabel1, BorderLayout.WEST); - jPanel1.add(fontName, BorderLayout.CENTER); + 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, 112, 300, 35)); + jPanel4.add(defaultButton); + jPanel4.add(ok); + jPanel4.add(cancel); + + this.add(smoothFont); + this.add(scaleAsCdna); this.add(jPanel3, null); this.add(jPanel2, null); - jPanel2.add(jLabel3, BorderLayout.WEST); - jPanel2.add(fontStyle, BorderLayout.CENTER); - jPanel3.add(jLabel2, BorderLayout.WEST); - jPanel3.add(fontSize, BorderLayout.CENTER); - this.add(ok, null); - this.add(cancel, null); + this.add(jPanel4); + this.add(jPanel1, null); } - protected void ok_actionPerformed(ActionEvent e) + protected void scaleAsCdna_actionPerformed(ActionEvent e) { + } + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ + protected void ok_actionPerformed(ActionEvent e) + { } + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ protected void cancel_actionPerformed(ActionEvent e) { - } + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ protected void fontName_actionPerformed(ActionEvent e) { - } + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ protected void fontSize_actionPerformed(ActionEvent e) { - } + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ protected void fontStyle_actionPerformed(ActionEvent e) { + } + + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ + public void defaultButton_actionPerformed(ActionEvent e) + { + } + + public void smoothFont_actionPerformed(ActionEvent e) + { } }