📄 borderchooser.java
字号:
package Designer;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
/**
* A class for creating custom borders, to be used in the menu designer to mimick
* more complex menu frames such as those used by Nokia and Ericsson.
* Copyright: Copyright (c) 2003
* @author Mark Busman
* @version 1.0
*
* For License and contact information see PhoneDesigner.java
*/
public class BorderChooser extends javax.swing.JDialog {
private javax.swing.JPanel PreviewPanel;
private javax.swing.JLabel PreviewLabel;
private javax.swing.JPanel ButtonPanel;
private javax.swing.JPanel MainButtonsPanel;
private javax.swing.JButton OkButton;
private javax.swing.JButton CancelButton;
private javax.swing.JPanel StatusbarPanel;
private javax.swing.JLabel Statusbar;
private javax.swing.JPanel MainPanel;
private javax.swing.JScrollPane ListScrollPane;
private javax.swing.JList BorderList;
private javax.swing.JScrollPane PropertiesScrollPane;
private javax.swing.JPanel ProperiesPanel;
private javax.swing.JPanel NoBorderPanel;
private javax.swing.JPanel EmptyPanel;
private javax.swing.JLabel EmptyTopLabel;
private javax.swing.JTextField EmptyTopText;
private javax.swing.JLabel EmptyLeftLabel;
private javax.swing.JTextField EmptyLeftText;
private javax.swing.JLabel EmptyBottomLabel;
private javax.swing.JTextField EmptyBottomText;
private javax.swing.JLabel EmptyRightLabel;
private javax.swing.JTextField EmptyRightText;
private javax.swing.JLabel jLabel39;
private javax.swing.JLabel jLabel40;
private javax.swing.JLabel jLabel41;
private javax.swing.JLabel jLabel42;
private javax.swing.JPanel EtchedPanel;
private javax.swing.JLabel EtchedTypeLabel;
private javax.swing.JComboBox EtchedTypeCombo;
private javax.swing.JLabel EtchedHighlightLabel;
private javax.swing.JButton EtchedHighlightButton;
private javax.swing.JLabel EtchedShadowLabel;
private javax.swing.JButton EtchedShadowButton;
private javax.swing.JLabel jLabel43;
private javax.swing.JLabel jLabel44;
private javax.swing.JLabel jLabel45;
private javax.swing.JLabel jLabel46;
private javax.swing.JLabel jLabel47;
private javax.swing.JLabel jLabel48;
private javax.swing.JPanel BevelPanel;
private javax.swing.JLabel BevelTypeLabel;
private javax.swing.JComboBox BevelTypeCombo;
private javax.swing.JLabel BevelHighlightOuterLabel;
private javax.swing.JButton BevelHighlightOuterButton;
private javax.swing.JLabel BevelHighlightInnerLabel;
private javax.swing.JButton BevelHighlightInnerButton;
private javax.swing.JLabel BevelShadowOuterLabel;
private javax.swing.JButton BevelShadowOuterButton;
private javax.swing.JLabel BevelShadowInnerLabel;
private javax.swing.JButton BevelShadowInnerButton;
private javax.swing.JLabel jLabel49;
private javax.swing.JLabel jLabel50;
private javax.swing.JPanel MattePanel;
private javax.swing.JLabel MatteTopLabel;
private javax.swing.JTextField MatteTopText;
private javax.swing.JLabel MatteLeftLabel;
private javax.swing.JTextField MatteLeftText;
private javax.swing.JLabel MatteBottomLabel;
private javax.swing.JTextField MatteBottomText;
private javax.swing.JLabel MatteRightLabel;
private javax.swing.JTextField MatteRightText;
private javax.swing.JLabel MatteTypeLabel;
private javax.swing.JComboBox MatteTypeCombo;
private javax.swing.JLabel MatteSwingLabel;
private javax.swing.JButton MatteTypeButton;
private javax.swing.JPanel LinePanel;
private javax.swing.JLabel LineColorLabel;
private javax.swing.JButton LineColorButton;
private javax.swing.JLabel LineThicknessLabel;
private javax.swing.JTextField LineThicknessText;
private javax.swing.JLabel LineRoundLabel;
private javax.swing.JComboBox LineRoundCombo;
private javax.swing.JLabel jLabel51;
private javax.swing.JLabel jLabel52;
private javax.swing.JLabel jLabel53;
private javax.swing.JLabel jLabel54;
private javax.swing.JLabel jLabel55;
private javax.swing.JLabel jLabel56;
private javax.swing.JPanel CompoundPanel;
private javax.swing.JLabel CompoundOutsideLabel;
private javax.swing.JButton CompoundOutsideButton;
private javax.swing.JLabel CompoundInsideLabel;
private javax.swing.JButton CompoundInsideButton;
private javax.swing.JLabel jLabel59;
private javax.swing.JLabel jLabel60;
private javax.swing.JLabel jLabel61;
private javax.swing.JLabel jLabel62;
private javax.swing.JLabel jLabel63;
private javax.swing.JLabel jLabel64;
private javax.swing.JLabel jLabel65;
private javax.swing.JLabel jLabel66;
private javax.swing.JPanel TitledPanel;
private javax.swing.JLabel TitledBorderLabel;
private javax.swing.JButton TitledBorderButton;
private javax.swing.JLabel TitledTitleLabel;
private javax.swing.JTextField TitledTitleText;
private javax.swing.JLabel TitledJustifyLabel;
private javax.swing.JComboBox TitledJustifyCombo;
private javax.swing.JLabel TitledPosLabel;
private javax.swing.JComboBox TitledPosCombo;
private javax.swing.JLabel TitledFontLabel;
private javax.swing.JButton TitledFontButton;
private javax.swing.JLabel TitledColorLabel;
private javax.swing.JButton TitledColorButton;
// User Variables
private Border border;
private int ReturnValue = 0;
/** Creates a new BorderChooser
* @param Frame parent - the parent for this dialog, can be null.
* @param boolean modal.
*/
public BorderChooser(java.awt.Frame parent,boolean modal) {
super (parent, modal);
jbInit();
pack ();
setSize(500, 400);
String[] Borders = {"No Border", "Empty Border", "Etched Border",
"Bevel Border", "Soft Bevel Border", "Matte Border", "Line Border",
"Compound Border", "Titiled Border"};
BorderList.setListData(Borders);
EtchedTypeCombo.addItem("Lowered");
EtchedTypeCombo.addItem("Raised");
BevelTypeCombo.addItem("Lowered");
BevelTypeCombo.addItem("Raised");
MatteTypeCombo.addItem("Color");
MatteTypeCombo.addItem("Icon");
LineRoundCombo.addItem("False");
LineRoundCombo.addItem("True");
TitledJustifyCombo.addItem("Default");
TitledJustifyCombo.addItem("Left");
TitledJustifyCombo.addItem("Right");
TitledJustifyCombo.addItem("Center");
TitledJustifyCombo.addItem("Leading");
TitledJustifyCombo.addItem("Trailing");
TitledPosCombo.addItem("Default");
TitledPosCombo.addItem("Above Bottom");
TitledPosCombo.addItem("Above Top");
TitledPosCombo.addItem("Below Bottom");
TitledPosCombo.addItem("Below Top");
TitledPosCombo.addItem("Bottom");
TitledPosCombo.addItem("Top");
BorderList.setSelectedIndex(0);
Statusbar.setText("");
// Add Icons when adding new items to the borderlist here
Icon icon1 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border1.jpg"));
Icon icon2 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border10.jpg"));
Icon icon3 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border7.jpg"));
Icon icon4 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border5.jpg"));
Icon icon5 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border8.jpg"));
Icon icon6 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border2.jpg"));
Icon icon7 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border6.jpg"));
Icon icon8 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border3.jpg"));
Icon icon9 = new ImageIcon(Designer.PhoneDesigner.class.getResource("border4.jpg"));
// Don't forget to update the icon array
Icon icons[] = {icon1, icon2, icon3, icon4, icon5, icon6, icon7, icon8, icon9};
// Apply the new cell renderer
BorderList.setCellRenderer(new BorderListCellRenderer(icons));
}
/** This method is called from within the constructor to
* initialize the form.
*/
private void jbInit() {
PreviewPanel = new javax.swing.JPanel ();
PreviewLabel = new javax.swing.JLabel ();
ButtonPanel = new javax.swing.JPanel ();
MainButtonsPanel = new javax.swing.JPanel ();
OkButton = new javax.swing.JButton ();
CancelButton = new javax.swing.JButton ();
StatusbarPanel = new javax.swing.JPanel ();
Statusbar = new javax.swing.JLabel ();
MainPanel = new javax.swing.JPanel ();
ListScrollPane = new javax.swing.JScrollPane ();
BorderList = new javax.swing.JList ();
PropertiesScrollPane = new javax.swing.JScrollPane ();
ProperiesPanel = new javax.swing.JPanel ();
NoBorderPanel = new javax.swing.JPanel ();
EmptyPanel = new javax.swing.JPanel ();
EmptyTopLabel = new javax.swing.JLabel ();
EmptyTopText = new javax.swing.JTextField ();
EmptyLeftLabel = new javax.swing.JLabel ();
EmptyLeftText = new javax.swing.JTextField ();
EmptyBottomLabel = new javax.swing.JLabel ();
EmptyBottomText = new javax.swing.JTextField ();
EmptyRightLabel = new javax.swing.JLabel ();
EmptyRightText = new javax.swing.JTextField ();
jLabel39 = new javax.swing.JLabel ();
jLabel40 = new javax.swing.JLabel ();
jLabel41 = new javax.swing.JLabel ();
jLabel42 = new javax.swing.JLabel ();
EtchedPanel = new javax.swing.JPanel ();
EtchedTypeLabel = new javax.swing.JLabel ();
EtchedTypeCombo = new javax.swing.JComboBox ();
EtchedHighlightLabel = new javax.swing.JLabel ();
EtchedHighlightButton = new javax.swing.JButton ();
EtchedShadowLabel = new javax.swing.JLabel ();
EtchedShadowButton = new javax.swing.JButton ();
jLabel43 = new javax.swing.JLabel ();
jLabel44 = new javax.swing.JLabel ();
jLabel45 = new javax.swing.JLabel ();
jLabel46 = new javax.swing.JLabel ();
jLabel47 = new javax.swing.JLabel ();
jLabel48 = new javax.swing.JLabel ();
BevelPanel = new javax.swing.JPanel ();
BevelTypeLabel = new javax.swing.JLabel ();
BevelTypeCombo = new javax.swing.JComboBox ();
BevelHighlightOuterLabel = new javax.swing.JLabel ();
BevelHighlightOuterButton = new javax.swing.JButton ();
BevelHighlightInnerLabel = new javax.swing.JLabel ();
BevelHighlightInnerButton = new javax.swing.JButton ();
BevelShadowOuterLabel = new javax.swing.JLabel ();
BevelShadowOuterButton = new javax.swing.JButton ();
BevelShadowInnerLabel = new javax.swing.JLabel ();
BevelShadowInnerButton = new javax.swing.JButton ();
jLabel49 = new javax.swing.JLabel ();
jLabel50 = new javax.swing.JLabel ();
MattePanel = new javax.swing.JPanel ();
MatteTopLabel = new javax.swing.JLabel ();
MatteTopText = new javax.swing.JTextField ();
MatteLeftLabel = new javax.swing.JLabel ();
MatteLeftText = new javax.swing.JTextField ();
MatteBottomLabel = new javax.swing.JLabel ();
MatteBottomText = new javax.swing.JTextField ();
MatteRightLabel = new javax.swing.JLabel ();
MatteRightText = new javax.swing.JTextField ();
MatteTypeLabel = new javax.swing.JLabel ();
MatteTypeCombo = new javax.swing.JComboBox ();
MatteSwingLabel = new javax.swing.JLabel ();
MatteTypeButton = new javax.swing.JButton ();
LinePanel = new javax.swing.JPanel ();
LineColorLabel = new javax.swing.JLabel ();
LineColorButton = new javax.swing.JButton ();
LineThicknessLabel = new javax.swing.JLabel ();
LineThicknessText = new javax.swing.JTextField ();
LineRoundLabel = new javax.swing.JLabel ();
LineRoundCombo = new javax.swing.JComboBox ();
jLabel51 = new javax.swing.JLabel ();
jLabel52 = new javax.swing.JLabel ();
jLabel53 = new javax.swing.JLabel ();
jLabel54 = new javax.swing.JLabel ();
jLabel55 = new javax.swing.JLabel ();
jLabel56 = new javax.swing.JLabel ();
CompoundPanel = new javax.swing.JPanel ();
CompoundOutsideLabel = new javax.swing.JLabel ();
CompoundOutsideButton = new javax.swing.JButton ();
CompoundInsideLabel = new javax.swing.JLabel ();
CompoundInsideButton = new javax.swing.JButton ();
jLabel59 = new javax.swing.JLabel ();
jLabel60 = new javax.swing.JLabel ();
jLabel61 = new javax.swing.JLabel ();
jLabel62 = new javax.swing.JLabel ();
jLabel63 = new javax.swing.JLabel ();
jLabel64 = new javax.swing.JLabel ();
jLabel65 = new javax.swing.JLabel ();
jLabel66 = new javax.swing.JLabel ();
TitledPanel = new javax.swing.JPanel ();
TitledBorderLabel = new javax.swing.JLabel ();
TitledBorderButton = new javax.swing.JButton ();
TitledTitleLabel = new javax.swing.JLabel ();
TitledTitleText = new javax.swing.JTextField ();
TitledJustifyLabel = new javax.swing.JLabel ();
TitledJustifyCombo = new javax.swing.JComboBox ();
TitledPosLabel = new javax.swing.JLabel ();
TitledPosCombo = new javax.swing.JComboBox ();
TitledFontLabel = new javax.swing.JLabel ();
TitledFontButton = new javax.swing.JButton ();
TitledColorLabel = new javax.swing.JLabel ();
TitledColorButton = new javax.swing.JButton ();
setTitle ("Border Chooser");
addWindowListener (new java.awt.event.WindowAdapter () {
public void windowClosing (java.awt.event.WindowEvent evt) {
closeDialog (evt);
}
}
);
PreviewPanel.setLayout (new java.awt.GridLayout (1, 1));
PreviewPanel.setPreferredSize (new java.awt.Dimension(200, 350));
PreviewPanel.setBorder (new javax.swing.border.TitledBorder("Preview"));
PreviewLabel.setText ("Sample");
PreviewLabel.setBackground (java.awt.Color.white);
PreviewLabel.setHorizontalAlignment (javax.swing.SwingConstants.CENTER);
PreviewPanel.add (PreviewLabel);
getContentPane ().add (PreviewPanel, java.awt.BorderLayout.EAST);
ButtonPanel.setLayout (new java.awt.BorderLayout ());
MainButtonsPanel.setLayout (new java.awt.FlowLayout (2, 5, 5));
OkButton.setPreferredSize (new java.awt.Dimension(67, 27));
OkButton.setMaximumSize (new java.awt.Dimension(67, 27));
OkButton.setText ("Ok");
OkButton.setMinimumSize (new java.awt.Dimension(67, 27));
OkButton.addActionListener (new java.awt.event.ActionListener () {
public void actionPerformed (java.awt.event.ActionEvent evt) {
OkButtonActionPerformed (evt);
}
}
);
MainButtonsPanel.add (OkButton);
CancelButton.setText ("Cancel");
CancelButton.addActionListener (new java.awt.event.ActionListener () {
public void actionPerformed (java.awt.event.ActionEvent evt) {
CancelButtonActionPerformed (evt);
}
}
);
MainButtonsPanel.add (CancelButton);
ButtonPanel.add (MainButtonsPanel, java.awt.BorderLayout.EAST);
StatusbarPanel.setLayout (new javax.swing.BoxLayout (StatusbarPanel, 0));
Statusbar.setText ("jLabel28");
StatusbarPanel.add (Statusbar);
ButtonPanel.add (StatusbarPanel, java.awt.BorderLayout.CENTER);
getContentPane ().add (ButtonPanel, java.awt.BorderLayout.SOUTH);
MainPanel.setLayout (new java.awt.BorderLayout ());
BorderList.addListSelectionListener (new javax.swing.event.ListSelectionListener () {
public void valueChanged (javax.swing.event.ListSelectionEvent evt) {
BorderListValueChanged (evt);
}
}
);
ListScrollPane.setViewportView (BorderList);
MainPanel.add (ListScrollPane, java.awt.BorderLayout.CENTER);
ProperiesPanel.setLayout (new java.awt.CardLayout ());
ProperiesPanel.add (NoBorderPanel, "card9");
EmptyPanel.setLayout (new java.awt.GridLayout (6, 2));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -