From 4f03c3bf803d68f2c9f94796a3074683785aaca4 Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Mon, 27 Apr 2015 11:04:05 +0200 Subject: [PATCH] Scrollbar added to fontpanel --- .../jpexs/decompiler/flash/gui/FontPanel.java | 94 +++++++------------ 1 file changed, 33 insertions(+), 61 deletions(-) diff --git a/src/com/jpexs/decompiler/flash/gui/FontPanel.java b/src/com/jpexs/decompiler/flash/gui/FontPanel.java index fedc78dc1..33e182690 100644 --- a/src/com/jpexs/decompiler/flash/gui/FontPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/FontPanel.java @@ -23,13 +23,13 @@ import com.jpexs.decompiler.flash.tags.base.FontTag; import com.jpexs.decompiler.flash.tags.base.TextTag; import com.jpexs.decompiler.flash.treeitems.TreeItem; import com.jpexs.helpers.Helper; +import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.FontFormatException; import java.awt.Rectangle; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.ItemEvent; @@ -251,6 +251,7 @@ public class FontPanel extends JPanel { private void initComponents() { + contentScrollPane = new JScrollPane(); addCharsPanel = new JPanel(); fontParamsPanel = new JPanel(); fontNameIntagLabel = new JLabel(); @@ -292,6 +293,10 @@ public class FontPanel extends JPanel { } }); + contentPanel = new JPanel(); + contentScrollPane.setBorder(null); + contentScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); + TableLayout tlFontParamsPanel; fontParamsPanel.setLayout(tlFontParamsPanel = new TableLayout(new double[][]{ {TableLayout.PREFERRED, TableLayout.FILL}, @@ -303,9 +308,9 @@ public class FontPanel extends JPanel { fontParamsPanel.add(fontNameIntagLabLabel, "0,0,R"); fontNameIntagLabel.setText(AppStrings.translate("value.unknown")); - fontNameIntagLabel.setMaximumSize(new Dimension(250, 14)); - fontNameIntagLabel.setMinimumSize(new Dimension(250, 14)); - fontNameIntagLabel.setPreferredSize(new Dimension(250, 14)); + fontNameIntagLabel.setMaximumSize(new Dimension(250, fontNameIntagLabel.getMaximumSize().height)); + fontNameIntagLabel.setMinimumSize(new Dimension(100, fontNameIntagLabel.getMinimumSize().height)); + fontNameIntagLabel.setPreferredSize(new Dimension(250, fontNameIntagLabel.getPreferredSize().height)); fontParamsPanel.add(fontNameIntagLabel, "1,0"); JLabel fontNameNameLabLabel = new JLabel(); @@ -322,7 +327,7 @@ public class FontPanel extends JPanel { fontNameTextArea.setLineWrap(true); fontNameTextArea.setText(AppStrings.translate("value.unknown")); fontNameTextArea.setWrapStyleWord(true); - fontNameTextArea.setMinimumSize(new Dimension(250, 16)); + fontNameTextArea.setMinimumSize(new Dimension(100, fontNameTextArea.getMinimumSize().height)); fontNameTextArea.setOpaque(false); fontDisplayNameScrollPane.setViewportView(fontNameTextArea); @@ -341,7 +346,7 @@ public class FontPanel extends JPanel { fontCopyrightTextArea.setLineWrap(true); fontCopyrightTextArea.setText(AppStrings.translate("value.unknown")); fontCopyrightTextArea.setWrapStyleWord(true); - fontCopyrightTextArea.setMinimumSize(new Dimension(250, 16)); + fontCopyrightTextArea.setMinimumSize(new Dimension(100, fontCopyrightTextArea.getMinimumSize().height)); fontCopyrightTextArea.setOpaque(false); fontCopyrightScrollPane.setViewportView(fontCopyrightTextArea); @@ -392,7 +397,7 @@ public class FontPanel extends JPanel { fontCharactersTextArea.setFont(new JLabel().getFont()); fontCharactersTextArea.setLineWrap(true); fontCharactersTextArea.setWrapStyleWord(true); - fontCharactersTextArea.setMinimumSize(new Dimension(250, 16)); + fontCharactersTextArea.setMinimumSize(new Dimension(100, fontCharactersTextArea.getMinimumSize().height)); fontCharactersTextArea.setOpaque(false); fontCharactersScrollPane.setViewportView(fontCharactersTextArea); fontParamsPanel.add(fontCharactersScrollPane, "1,8"); @@ -400,17 +405,13 @@ public class FontPanel extends JPanel { fontCharsAddLabel.setText(AppStrings.translate("font.characters.add")); fontAddCharsButton.setText(AppStrings.translate("button.ok")); - fontAddCharsButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - fontAddCharsButtonActionPerformed(evt); - } - }); + fontAddCharsButton.addActionListener(this::fontAddCharsButtonActionPerformed); updateTextsCheckBox.setText(AppStrings.translate("font.updateTexts")); fontSourceLabel.setText(AppStrings.translate("font.source")); + fontFamilyNameSelection.setPreferredSize(new Dimension(100, fontFamilyNameSelection.getMinimumSize().height)); fontFamilyNameSelection.setModel(getFamilyModel()); fontFamilyNameSelection.setSelectedItem(FontTag.defaultFontName); fontFaceSelection.setModel(getFaceModel((FontFamily) fontFamilyNameSelection.getSelectedItem())); @@ -430,59 +431,29 @@ public class FontPanel extends JPanel { }); fontEmbedButton.setText(AppStrings.translate("button.font.embed")); - fontEmbedButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - fontEmbedButtonActionPerformed(evt); - } - }); + fontEmbedButton.addActionListener(this::fontEmbedButtonActionPerformed); buttonEdit.setIcon(View.getIcon("edit16")); buttonEdit.setText(AppStrings.translate("button.edit")); - buttonEdit.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - buttonEditActionPerformed(evt); - } - }); + buttonEdit.addActionListener(this::buttonEditActionPerformed); buttonSave.setIcon(View.getIcon("save16")); buttonSave.setText(AppStrings.translate("button.save")); - buttonSave.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - buttonSaveActionPerformed(evt); - } - }); + buttonSave.addActionListener(this::buttonSaveActionPerformed); buttonCancel.setIcon(View.getIcon("cancel16")); buttonCancel.setText(AppStrings.translate("button.cancel")); - buttonCancel.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - buttonCancelActionPerformed(evt); - } - }); + buttonCancel.addActionListener(this::buttonCancelActionPerformed); buttonPreviewFont.setText(AppStrings.translate("button.preview")); - buttonPreviewFont.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - buttonPreviewFontActionPerformed(evt); - } - }); + buttonPreviewFont.addActionListener(this::buttonPreviewFontActionPerformed); buttonSetAdvanceValues.setText(AppStrings.translate("button.setAdvanceValues")); - buttonSetAdvanceValues.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent evt) { - buttonSetAdvanceValuesActionPerformed(evt); - } - }); + buttonSetAdvanceValues.addActionListener(this::buttonSetAdvanceValuesActionPerformed); TableLayout tlAddCharsPanel; addCharsPanel.setLayout(tlAddCharsPanel = new TableLayout(new double[][]{ - {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED}, + {TableLayout.PREFERRED, TableLayout.FILL, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED}, {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED} })); addCharsPanel.setBorder(BorderFactory.createRaisedBevelBorder()); @@ -506,14 +477,18 @@ public class FontPanel extends JPanel { buttonsPanel.add(buttonCancel); TableLayout tlAll; - setLayout(tlAll = new TableLayout(new double[][]{ + contentPanel.setLayout(tlAll = new TableLayout(new double[][]{ {TableLayout.FILL}, {TableLayout.FILL, TableLayout.PREFERRED, TableLayout.PREFERRED} })); - add(fontParamsPanel, "0,0"); - add(buttonsPanel, "0,1"); - add(addCharsPanel, "0,2"); + contentPanel.add(fontParamsPanel, "0,0"); + contentPanel.add(buttonsPanel, "0,1"); + contentPanel.add(addCharsPanel, "0,2"); + contentScrollPane.setViewportView(contentPanel); + + setLayout(new BorderLayout()); + add(contentScrollPane, BorderLayout.CENTER); addTableSpaces(tlAddCharsPanel, 10); addTableSpaces(tlFontParamsPanel, 10); @@ -521,11 +496,6 @@ public class FontPanel extends JPanel { } - private void labsize(JLabel lab) { - lab.setPreferredSize(new Dimension(lab.getFontMetrics(lab.getFont()).stringWidth(lab.getText()) + 30, lab.getPreferredSize().height)); - lab.setMinimumSize(lab.getPreferredSize()); - } - private void fontAddCharsButtonActionPerformed(ActionEvent evt) { String newchars = fontAddCharactersField.getText(); @@ -721,7 +691,9 @@ public class FontPanel extends JPanel { private JPanel addCharsPanel; - private JScrollPane jScrollPane1; - private JCheckBox updateTextsCheckBox; + + private JPanel contentPanel; + + private JScrollPane contentScrollPane; }