📄 wigglytextapplet.java
字号:
package wt;// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.// Jad home page: http://www.geocities.com/kpdus/jad.html// Decompiler options: packimports(3) // Source File Name: WigglyTextApplet.javaimport java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.geom.AffineTransform;import java.util.Vector;import javax.swing.BorderFactory;import javax.swing.Box;import javax.swing.JApplet;import javax.swing.JCheckBox;import javax.swing.JComponent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JSlider;import javax.swing.JTextField;import javax.swing.UIManager;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;public class WigglyTextApplet extends JApplet{ private static class WigglePane extends JPanel { private void buildCommonPanes() { mText = new JTextField(20); mText.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { String s = mText.getText(); for (int i = 0; i < mLabels.size(); i++) ((TransformedTextLabel) mLabels.get(i)).setText(s); } }); mText.setText("Willy and the Radii"); mText.postActionEvent(); mDrawOutlines = new JCheckBox("Draw Outlines"); mDrawOutlines.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { boolean flag = mDrawOutlines.isSelected(); for (int i = 0; i < mLabels.size(); i++) ((TransformedTextLabel) mLabels.get(i)).setDebugOutlines(flag); } }); mFontPane = new FontPane(((JComponent) mLabels.get(0)).getFont()); mFontPane.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent itemevent) { Font font = (Font) itemevent.getItem(); for (int i = 0; i < mLabels.size(); i++) ((TransformedTextLabel) mLabels.get(i)).setFont(font); } }); JPanel jpanel = new JPanel(new GridLayout(0, 1, 5, 5)); jpanel.add(mText); jpanel.add(mDrawOutlines); mCommonControls = new JPanel(new FlowLayout()); mCommonControls.add(mFontPane); mCommonControls.add(jpanel); } private void buildArcPanes() { mArc = new ArcedTextLabel(); mArc.setSpreadAndRise(200D, 75D); mLabels.add(mArc); mWidth = new JSlider(0, 500, 200); mRise = new JSlider(0, 300, 75); ChangeListener changelistener = new ChangeListener() { public void stateChanged(ChangeEvent changeevent) { mArc.setSpreadAndRise(mWidth.getValue(), mRise.getValue()); } }; mWidth.addChangeListener(changelistener); mRise.addChangeListener(changelistener); JPanel jpanel = new JPanel(new GridLayout(0, 1, 5, 5)); jpanel.add(mWidth); jpanel.add(mRise); mControls.add(jpanel); } private void buildRotatePanes() { mRotate = InterpolatedTextLabel.createRotatedText("", -0.3490658503988659D, 0.3490658503988659D); mLabels.add(mRotate); mFirstAngle = new JSlider(-90, 90, -20); mSecondAngle = new JSlider(-90, 90, 20); ChangeListener changelistener = new ChangeListener() { public void stateChanged(ChangeEvent changeevent) { mRotate.setFirst(AffineTransform .getRotateInstance(((double) mFirstAngle.getValue() * 3.1415926535897931D) / 180D)); mRotate.setSecond(AffineTransform .getRotateInstance(((double) mSecondAngle.getValue() * 3.1415926535897931D) / 180D)); } }; mFirstAngle.addChangeListener(changelistener); mSecondAngle.addChangeListener(changelistener); JPanel jpanel = new JPanel(new GridLayout(0, 1, 5, 5)); jpanel.add(mFirstAngle); jpanel.add(mSecondAngle); mControls.add(jpanel); } private void buildScalePanes() { mScale = InterpolatedTextLabel.createScaledText("", 0.5D, 1.5D); mLabels.add(mScale); mFirstScale = new JSlider(10, 300, 50); mSecondScale = new JSlider(10, 300, 200); ChangeListener changelistener = new ChangeListener() { public void stateChanged(ChangeEvent changeevent) { mScale.setFirst(AffineTransform.getScaleInstance(1.0D, (double) mFirstScale.getValue() / 100D)); mScale.setSecond(AffineTransform.getScaleInstance(1.0D, (double) mSecondScale.getValue() / 100D)); } }; mFirstScale.addChangeListener(changelistener); mSecondScale.addChangeListener(changelistener); JPanel jpanel = new JPanel(new GridLayout(0, 1, 5, 5)); jpanel.add(mFirstScale); jpanel.add(mSecondScale); mControls.add(jpanel); } private void buildShearPanes() { mShear = InterpolatedTextLabel.createShearedText("", -0.40000000000000002D, 0.40000000000000002D); mLabels.add(mShear); mFirstShear = new JSlider(-200, 200, -40); mSecondShear = new JSlider(-200, 200, 40); ChangeListener changelistener = new ChangeListener() { public void stateChanged(ChangeEvent changeevent) { mShear.setFirst(AffineTransform.getShearInstance((double) mFirstShear.getValue() / 100D, 0.0D)); mShear.setSecond(AffineTransform.getShearInstance((double) mSecondShear.getValue() / 100D, 0.0D)); } }; mFirstShear.addChangeListener(changelistener); mSecondShear.addChangeListener(changelistener); mFirstShear.setInverted(true); mSecondShear.setInverted(true); JPanel jpanel = new JPanel(new GridLayout(0, 1, 5, 5)); jpanel.add(mFirstShear); jpanel.add(mSecondShear); mControls.add(jpanel); } private void buildMainPane() { buildArcPanes(); buildRotatePanes(); buildScalePanes(); buildShearPanes(); buildCommonPanes(); JPanel jpanel = new JPanel(new GridBagLayout()); GridBagConstraints gridbagconstraints = new GridBagConstraints(); gridbagconstraints.anchor = 12; gridbagconstraints.insets = new Insets(0, 5, 5, 0); GridBagConstraints gridbagconstraints1 = new GridBagConstraints(); gridbagconstraints1.gridwidth = 0; gridbagconstraints1.anchor = 18; gridbagconstraints1.weightx = gridbagconstraints1.weighty = 1.0D; gridbagconstraints1.fill = 1; gridbagconstraints1.insets = new Insets(0, 5, 5, 5); GridBagConstraints gridbagconstraints2 = new GridBagConstraints(); gridbagconstraints2.gridwidth = 0; gridbagconstraints2.anchor = 10; gridbagconstraints2.fill = 2; gridbagconstraints2.insets = new Insets(5, 5, 5, 5); jpanel.add(mCommonControls, gridbagconstraints2); for (int i = 0; i < mControls.size(); i++) { JComponent jcomponent = (JComponent) mControls.get(i); JComponent jcomponent1 = (JComponent) mLabels.get(i); jcomponent1.setOpaque(true); jcomponent1.setBackground(Color.white); jcomponent1.setBorder(BorderFactory.createLoweredBevelBorder()); jcomponent.setMinimumSize(new Dimension(150, 50)); jpanel.add(jcomponent, gridbagconstraints); jpanel.add(jcomponent1, gridbagconstraints1); } add(jpanel, "Center"); } private void buildTitles() { Box box = Box.createHorizontalBox(); JComponent ajcomponent[] = new JComponent[4]; ajcomponent[0] = InterpolatedTextLabel .createRotatedText("Wiggly", -0.3490658503988659D, 0.3490658503988659D); ajcomponent[1] = InterpolatedTextLabel.createScaledText("Text", 1.5D, 0.5D); ajcomponent[2] = new JLabel("in"); ajcomponent[3] = InterpolatedTextLabel .createShearedText("Java2D", 0.40000000000000002D, -0.40000000000000002D); for (int i = 0; i < ajcomponent.length; i++) { ajcomponent[i].setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); ajcomponent[i].setForeground(Color.white); box.add(ajcomponent[i]); } JLabel jlabel = new JLabel("Glyphic Technology"); jlabel.setForeground(Color.white); jlabel.setFont(jlabel.getFont().deriveFont(0, 10F)); JLabel jlabel1 = new JLabel("www.glyphic.com"); jlabel1.setForeground(jlabel.getForeground()); jlabel1.setFont(jlabel.getFont()); Box box1 = Box.createVerticalBox(); box1.add(jlabel); box1.add(jlabel1); JPanel jpanel = new JPanel(new BorderLayout()); jpanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); jpanel.setBackground(new Color(32896)); jpanel.add(box1, "East"); jpanel.add(box, "West"); add(jpanel, "North"); } private JTextField mText; private FontPane mFontPane; private JCheckBox mDrawOutlines; private JPanel mCommonControls; private ArcedTextLabel mArc; private JSlider mWidth; private JSlider mRise; private InterpolatedTextLabel mRotate; private JSlider mFirstAngle; private JSlider mSecondAngle; private InterpolatedTextLabel mScale; private JSlider mFirstScale; private JSlider mSecondScale; private InterpolatedTextLabel mShear; private JSlider mFirstShear; private JSlider mSecondShear; private Vector mControls; private Vector mLabels; public WigglePane() { super(new BorderLayout()); mControls = new Vector(); mLabels = new Vector(); buildTitles(); buildMainPane(); } } public void init() { JComponent jcomponent = (JComponent) getContentPane(); jcomponent.updateUI(); jcomponent.add(new WigglePane()); } public String getAppletInfo() { return "by Glyphic Technology, version 1.0, Copyright 1999 Glyphic Technology"; } public static void main(String args[]) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception _ex) { } JFrame jframe = new JFrame("Wiggly Text"); jframe.getContentPane().add(new WigglePane()); jframe.setDefaultCloseOperation(2); jframe.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent windowevent) { System.exit(0); } }); jframe.pack(); jframe.setSize(600, 450); jframe.show(); } public WigglyTextApplet() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -