DropShadowBorderPanel.java
资源名称:swingx.zip [点击查看]
上传用户:zhengdagz
上传日期:2014-03-06
资源大小:1956k
文件大小:20k
源码类别:
xml/soap/webservice
开发平台:
Java
- /*
- * DropShadowBorderPanel.java
- *
- * Created on April 28, 2005, 10:27 AM
- */
- package org.jdesktop.demo.swingx;
- import java.awt.Color;
- import java.awt.Component;
- import java.io.File;
- import javax.swing.JComponent;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- import org.jdesktop.demo.DemoPanel;
- import org.jdesktop.demo.MainWindow;
- import org.jdesktop.swingx.border.DropShadowBorder;
- /**
- *
- * @author patrick
- */
- public class DropShadowBorderPanel extends DemoPanel {
- EtchedBorder eb = new EtchedBorder();
- DropShadowBorder dsb = new DropShadowBorder();
- LineBorder lineBorder = new LineBorder(Color.BLACK, 5);
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- MainWindow.main(new String[]{"-d", "org.jdesktop.demo.swingx.DropShadowBorderPanel"});
- }
- /** Creates new form DropShadowBorderPanel */
- public DropShadowBorderPanel() {
- setName("Drop Shadow Border Demo");
- initComponents();
- }
- public java.awt.Container getContents() {
- return this;
- }
- public String getHtmlDescription() {
- return "<html>Demonstrates various uses of drop-shadow borders.</html>";
- }
- public String getName() {
- return "Drop Shadows";
- }
- public javax.swing.Icon getIcon() {
- return null;
- }
- public java.io.File getSourceRootDir() {
- try {
- System.out.println(getClass().getResource("/sources"));
- return new File(getClass().getResource("/sources").toURI());
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public java.awt.Container getContent() {
- return this;
- }
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
- java.awt.GridBagConstraints gridBagConstraints;
- javax.swing.JLabel jLabel7;
- buttonGroup1 = new javax.swing.ButtonGroup();
- shadowSizeSlider = new javax.swing.JSlider();
- tabbedPane = new javax.swing.JTabbedPane();
- listTab = new javax.swing.JPanel();
- jScrollPane1 = new javax.swing.JScrollPane();
- jList1 = new javax.swing.JList();
- textAreaTab = new javax.swing.JPanel();
- jPanel2 = new javax.swing.JPanel();
- jScrollPane2 = new javax.swing.JScrollPane();
- jTextArea1 = new javax.swing.JTextArea();
- comboBoxTab = new javax.swing.JPanel();
- jComboBox1 = new javax.swing.JComboBox();
- buttonTab = new javax.swing.JPanel();
- jButton1 = new javax.swing.JButton();
- textFieldTab = new javax.swing.JPanel();
- jTextField1 = new javax.swing.JTextField();
- labelTab = new javax.swing.JPanel();
- jLabel6 = new javax.swing.JLabel();
- panelTab = new javax.swing.JPanel();
- jPanel4 = new javax.swing.JPanel();
- jLabel2 = new javax.swing.JLabel();
- jTextField2 = new javax.swing.JTextField();
- jButton2 = new javax.swing.JButton();
- imageTab = new javax.swing.JPanel();
- jPanel1 = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- jLabel3 = new javax.swing.JLabel();
- jLabel5 = new javax.swing.JLabel();
- jLabel4 = new javax.swing.JLabel();
- jLabel7 = new javax.swing.JLabel();
- bottomShadowCB = new javax.swing.JCheckBox();
- bottomShadowCB.setSelected(dsb.isShowBottomShadow());
- rightShadowCB = new javax.swing.JCheckBox();
- rightShadowCB.setSelected(dsb.isShowRightShadow());
- topShadowCB = new javax.swing.JCheckBox();
- topShadowCB.setSelected(dsb.isShowTopShadow());
- leftShadowCB = new javax.swing.JCheckBox();
- leftShadowCB.setSelected(dsb.isShowLeftShadow());
- setLayout(new java.awt.GridBagLayout());
- shadowSizeSlider.setMajorTickSpacing(1);
- shadowSizeSlider.setMaximum(12);
- shadowSizeSlider.setMinimum(2);
- shadowSizeSlider.setMinorTickSpacing(1);
- shadowSizeSlider.setPaintTicks(true);
- shadowSizeSlider.setSnapToTicks(true);
- shadowSizeSlider.setValue(5);
- shadowSizeSlider.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- shadowSizeSliderStateChanged(evt);
- }
- });
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 3;
- gridBagConstraints.gridwidth = 2;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.insets = new java.awt.Insets(17, 12, 0, 11);
- add(shadowSizeSlider, gridBagConstraints);
- listTab.setLayout(new java.awt.BorderLayout());
- jScrollPane1.setBorder(dsb);
- jList1.setModel(new javax.swing.AbstractListModel() {
- String[] strings = { "Item1", "Item2", "Item3", "Item4" };
- public int getSize() { return strings.length; }
- public Object getElementAt(int i) { return strings[i]; }
- });
- jScrollPane1.setViewportView(jList1);
- listTab.add(jScrollPane1, java.awt.BorderLayout.CENTER);
- tabbedPane.addTab("JList", listTab);
- textAreaTab.setLayout(new java.awt.BorderLayout());
- textAreaTab.setOpaque(false);
- jPanel2.setLayout(new java.awt.BorderLayout());
- jPanel2.setBorder(lineBorder);
- jScrollPane2.setBorder(null);
- jTextArea1.setColumns(30);
- jTextArea1.setLineWrap(true);
- jTextArea1.setRows(4);
- jTextArea1.setText("A test area text area. To get this effect, the JTextArea was placed within a JPanel, and the DropShadowBorder was placed on the JPanel. If you tried to add a DropShadowBorder to the JTextArea itself, you would get a funny effect because the Look and Feel installs a different border on the JTextArea in addition to the border specified.");
- jTextArea1.setWrapStyleWord(true);
- jTextArea1.setBorder(null);
- jScrollPane2.setViewportView(jTextArea1);
- jPanel2.add(jScrollPane2, java.awt.BorderLayout.CENTER);
- textAreaTab.add(jPanel2, java.awt.BorderLayout.CENTER);
- tabbedPane.addTab("JTextArea", textAreaTab);
- comboBoxTab.setLayout(new java.awt.BorderLayout());
- jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item1", "Item2", "Item3", "Item4" }));
- jComboBox1.setBorder(dsb);
- jComboBox1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jComboBox1ActionPerformed(evt);
- }
- });
- comboBoxTab.add(jComboBox1, java.awt.BorderLayout.CENTER);
- tabbedPane.addTab("JComboBox", comboBoxTab);
- buttonTab.setLayout(new java.awt.BorderLayout());
- jButton1.setText("Submit");
- jButton1.setBorder(dsb);
- jButton1.setPreferredSize(new java.awt.Dimension(80, 25));
- buttonTab.add(jButton1, java.awt.BorderLayout.CENTER);
- tabbedPane.addTab("JButton", buttonTab);
- textFieldTab.setLayout(new java.awt.BorderLayout());
- jTextField1.setText("jTextField1");
- jTextField1.setBorder(dsb);
- textFieldTab.add(jTextField1, java.awt.BorderLayout.CENTER);
- tabbedPane.addTab("JTextField", textFieldTab);
- jLabel6.setFont(new java.awt.Font("Courier New", 0, 11));
- jLabel6.setText("<html><h1>W<br>E<br>L<br>C<br>O<br>M<br>E<br></h1></html>");
- jLabel6.setBorder(dsb);
- labelTab.add(jLabel6);
- tabbedPane.addTab("JLabel", labelTab);
- jPanel4.setBorder(dsb);
- jLabel2.setText("Name:");
- jPanel4.add(jLabel2);
- jTextField2.setColumns(25);
- jPanel4.add(jTextField2);
- jButton2.setText("OK");
- jButton2.setEnabled(false);
- jPanel4.add(jButton2);
- panelTab.add(jPanel4);
- tabbedPane.addTab("JPanel", panelTab);
- imageTab.setLayout(new java.awt.BorderLayout());
- imageTab.setOpaque(false);
- jPanel1.setBackground(new java.awt.Color(255, 255, 255));
- jLabel1.setBackground(new java.awt.Color(255, 255, 255));
- jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/jdesktop/demo/swingx/resources/duke_point.gif")));
- jLabel1.setOpaque(true);
- jLabel1.setPreferredSize(new java.awt.Dimension(75, 65));
- jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseEntered(java.awt.event.MouseEvent evt) {
- jLabel1MouseEntered(evt);
- }
- public void mouseExited(java.awt.event.MouseEvent evt) {
- jLabel1MouseExited(evt);
- }
- });
- jPanel1.add(jLabel1);
- jLabel3.setBackground(new java.awt.Color(255, 255, 255));
- jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/jdesktop/demo/swingx/resources/duke_hips.gif")));
- jLabel3.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
- jLabel3.setIconTextGap(0);
- jLabel3.setMaximumSize(new java.awt.Dimension(55, 45));
- jLabel3.setMinimumSize(new java.awt.Dimension(55, 45));
- jLabel3.setOpaque(true);
- jLabel3.setPreferredSize(new java.awt.Dimension(75, 65));
- jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseEntered(java.awt.event.MouseEvent evt) {
- jLabel3MouseEntered(evt);
- }
- public void mouseExited(java.awt.event.MouseEvent evt) {
- jLabel3MouseExited(evt);
- }
- });
- jPanel1.add(jLabel3);
- jLabel5.setBackground(new java.awt.Color(255, 255, 255));
- jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/jdesktop/demo/swingx/resources/duke_thumbsup.gif")));
- jLabel5.setMaximumSize(new java.awt.Dimension(55, 32));
- jLabel5.setMinimumSize(new java.awt.Dimension(55, 45));
- jLabel5.setOpaque(true);
- jLabel5.setPreferredSize(new java.awt.Dimension(75, 65));
- jLabel5.setRequestFocusEnabled(false);
- jLabel5.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseEntered(java.awt.event.MouseEvent evt) {
- jLabel5MouseEntered(evt);
- }
- public void mouseExited(java.awt.event.MouseEvent evt) {
- jLabel5MouseExited(evt);
- }
- });
- jPanel1.add(jLabel5);
- jLabel4.setBackground(new java.awt.Color(255, 255, 255));
- jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/jdesktop/demo/swingx/resources/duke_wave.gif")));
- jLabel4.setMaximumSize(new java.awt.Dimension(55, 45));
- jLabel4.setMinimumSize(new java.awt.Dimension(55, 32));
- jLabel4.setOpaque(true);
- jLabel4.setPreferredSize(new java.awt.Dimension(75, 65));
- jLabel4.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseEntered(java.awt.event.MouseEvent evt) {
- jLabel4MouseEntered(evt);
- }
- public void mouseExited(java.awt.event.MouseEvent evt) {
- jLabel4MouseExited(evt);
- }
- });
- jPanel1.add(jLabel4);
- imageTab.add(jPanel1, java.awt.BorderLayout.CENTER);
- tabbedPane.addTab("Images", imageTab);
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridwidth = 2;
- gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.weighty = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 11);
- add(tabbedPane, gridBagConstraints);
- jLabel7.setText("Adjust Shadow Size");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 4;
- gridBagConstraints.gridwidth = 2;
- gridBagConstraints.insets = new java.awt.Insets(10, 12, 11, 11);
- add(jLabel7, gridBagConstraints);
- bottomShadowCB.setText("Show Bottom Shadow");
- bottomShadowCB.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- bottomShadowCBActionPerformed(evt);
- }
- });
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(17, 5, 0, 0);
- add(bottomShadowCB, gridBagConstraints);
- rightShadowCB.setText("Show Right Shadow");
- rightShadowCB.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- rightShadowCBActionPerformed(evt);
- }
- });
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 2;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 0);
- add(rightShadowCB, gridBagConstraints);
- topShadowCB.setText("Show Top Shadow");
- topShadowCB.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- topShadowCBActionPerformed(evt);
- }
- });
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
- gridBagConstraints.insets = new java.awt.Insets(17, 24, 0, 0);
- add(topShadowCB, gridBagConstraints);
- leftShadowCB.setText("Show Left Shadow");
- leftShadowCB.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- leftShadowCBActionPerformed(evt);
- }
- });
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 2;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
- gridBagConstraints.insets = new java.awt.Insets(5, 24, 0, 0);
- add(leftShadowCB, gridBagConstraints);
- }
- // </editor-fold>//GEN-END:initComponents
- private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
- // TODO add your handling code here:
- }//GEN-LAST:event_jComboBox1ActionPerformed
- private void rightShadowCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rightShadowCBActionPerformed
- redraw();
- }//GEN-LAST:event_rightShadowCBActionPerformed
- private void bottomShadowCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bottomShadowCBActionPerformed
- redraw();
- }//GEN-LAST:event_bottomShadowCBActionPerformed
- private void leftShadowCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_leftShadowCBActionPerformed
- redraw();
- }//GEN-LAST:event_leftShadowCBActionPerformed
- private void topShadowCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_topShadowCBActionPerformed
- redraw();
- }//GEN-LAST:event_topShadowCBActionPerformed
- private void shadowSizeSliderStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_shadowSizeSliderStateChanged
- redraw();
- }//GEN-LAST:event_shadowSizeSliderStateChanged
- private void jLabel4MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel4MouseExited
- flipBorder((JComponent)evt.getSource(), false);
- }//GEN-LAST:event_jLabel4MouseExited
- private void jLabel5MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel5MouseExited
- flipBorder((JComponent)evt.getSource(), false);
- }//GEN-LAST:event_jLabel5MouseExited
- private void jLabel3MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseExited
- flipBorder((JComponent)evt.getSource(), false);
- }//GEN-LAST:event_jLabel3MouseExited
- private void jLabel4MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel4MouseEntered
- flipBorder((JComponent)evt.getSource(), true);
- }//GEN-LAST:event_jLabel4MouseEntered
- private void jLabel5MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel5MouseEntered
- flipBorder((JComponent)evt.getSource(), true);
- }//GEN-LAST:event_jLabel5MouseEntered
- private void jLabel3MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseEntered
- flipBorder((JComponent)evt.getSource(), true);
- }//GEN-LAST:event_jLabel3MouseEntered
- private void jLabel1MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseExited
- flipBorder((JComponent)evt.getSource(), false);
- }//GEN-LAST:event_jLabel1MouseExited
- private void jLabel1MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseEntered
- flipBorder((JComponent)evt.getSource(), true);
- }//GEN-LAST:event_jLabel1MouseEntered
- private void flipBorder(JComponent comp, boolean shadow) {
- comp.setBorder(shadow ? dsb : null);
- }
- private void redraw() {
- DropShadowBorder old = dsb;
- dsb = new DropShadowBorder(dsb.getLineColor(),
- dsb.getLineWidth(), shadowSizeSlider.getValue(),
- dsb.getShadowOpacity(), dsb.getCornerSize(),
- topShadowCB.isSelected(), leftShadowCB.isSelected(),
- bottomShadowCB.isSelected(), rightShadowCB.isSelected());
- //iterate down the containment heirarchy, replacing any old dsb's with
- //the new one
- replaceBorder(old, this);
- repaint();
- }
- private void replaceBorder(DropShadowBorder old, JComponent c) {
- if (c.getBorder() == old) {
- c.setBorder(dsb);
- }
- for (Component child : c.getComponents()) {
- if (child instanceof JComponent) {
- replaceBorder(old, (JComponent)child);
- }
- }
- }
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JCheckBox bottomShadowCB;
- private javax.swing.ButtonGroup buttonGroup1;
- private javax.swing.JPanel buttonTab;
- private javax.swing.JPanel comboBoxTab;
- private javax.swing.JPanel imageTab;
- private javax.swing.JButton jButton1;
- private javax.swing.JButton jButton2;
- private javax.swing.JComboBox jComboBox1;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JLabel jLabel6;
- private javax.swing.JList jList1;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel4;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JScrollPane jScrollPane2;
- private javax.swing.JTextArea jTextArea1;
- private javax.swing.JTextField jTextField1;
- private javax.swing.JTextField jTextField2;
- private javax.swing.JPanel labelTab;
- private javax.swing.JCheckBox leftShadowCB;
- private javax.swing.JPanel listTab;
- private javax.swing.JPanel panelTab;
- private javax.swing.JCheckBox rightShadowCB;
- private javax.swing.JSlider shadowSizeSlider;
- private javax.swing.JTabbedPane tabbedPane;
- private javax.swing.JPanel textAreaTab;
- private javax.swing.JPanel textFieldTab;
- private javax.swing.JCheckBox topShadowCB;
- // End of variables declaration//GEN-END:variables
- }