JAVA学习网首页 把生活查询网加入收藏 把JAVA学习网设为首页 联系方式
    Hi,JAVA学习
JAVA基础 设计模式 数据库 JavaBeans J2EE JavaDelphi 用户界面 综合文章  
主从按钮设计
时间:22/04/2007
作者:网络
来源:网络
小提示点这里把文章加入您的收藏夹,方便下次查看
设置文章字体大小:[ ]


   “主从按钮”,差不多就是跟 IE “后退” 按钮类试的东西。对于增强按钮功能有蛮大作用,比孤立的单按钮能表达更复杂的操作事件。
    这里我做了一个 package 专门生成 主从按钮。写的不好的地方欢迎指正,匆忙写完,应该还有蛮多瑕疵。

发现问题,已经修正


完整代码,示例下载:http://my.nbip.net/homepage/zhouB403/MyCode/SubordinateButton.exe

======================================================================
  1.  ==== package subbutton  ====
  2. //SubordinateButton.java  主从按钮类
  3. /**
  4.  *  [SubordinateButton.java] 主从按钮
  5.  *
  6.  * 创建日期:(2003-9-4)
  7.  * @author:ONE_Fox
  8.  */
  9.  
  10. package subbutton;
  11.  
  12. import java.awt.java/awt/BorderLayout.java.html" target="_blank">BorderLayout;
  13. import java.awt.event.java/awt/event/MouseAdapter.java.html" target="_blank">MouseAdapter;
  14. import javax.swing.javax/swing/JPanel.java.html" target="_blank">JPanel;
  15. import javax.swing.javax/swing/JButton.java.html" target="_blank">JButton;
  16. import javax.swing.border.javax/swing/border/Border.java.html" target="_blank">Border;
  17. import javax.swing.border.javax/swing/border/BevelBorder.java.html" target="_blank">BevelBorder;
  18. import javax.swing.border.javax/swing/border/EmptyBorder.java.html" target="_blank">EmptyBorder;
  19.  
  20.  
  21.  
  22. public class SubordinateButton extends javax/swing/JPanel.java.html" target="_blank">JPanel {
  23.     
  24.  
  25. /**
  26.  * 从属按钮相对与主按钮的位置
  27.  *
  28.  * int UP = 1;
  29.  * int DOWN = 2;
  30.  * int LEFT = 3;
  31.  * int RIGHT = 4;
  32.  */
  33.     public static final int UP = 1;
  34.     public static final int DOWN = 2;
  35.     public static final int LEFT = 3;
  36.     public static final int RIGHT = 4;
  37.     
  38.     private int position = RIGHT; //默认从按钮在右边
  39.     
  40.     
  41. /**
  42.  * 按钮三态(普通、鼠标进入、鼠标按下)默认配置
  43.  *
  44.  * usual  默认普通状态边框
  45.  * mouseIn  默认鼠标进入边框
  46.  * mousePress  默认鼠标按下边框
  47.  */
  48.     public static javax/swing/border/Border.java.html" target="_blank">Border usual = new javax/swing/border/EmptyBorder.java.html" target="_blank">EmptyBorder(2, 2, 2, 2); 
  49.     public static javax/swing/border/Border.java.html" target="_blank">Border mouseIn = new ThinBevelBorder(javax/swing/border/BevelBorder.java.html" target="_blank">BevelBorder.RAISED);
  50.     public static javax/swing/border/Border.java.html" target="_blank">Border mousePress = new ThinBevelBorder(javax/swing/border/BevelBorder.java.html" target="_blank">BevelBorder.LOWERED);
  51.     
  52.     
  53.     //默认鼠标事件--------------//
  54.     private java/awt/event/MouseAdapter.java.html" target="_blank">MouseAdapter listener = null
  55.  
  56.  
  57. /**
  58.  * master 主按钮
  59.  * slave  从按钮
  60.  */
  61.     public javax/swing/JButton.java.html" target="_blank">JButton master = null//主按钮
  62.     public javax/swing/JButton.java.html" target="_blank">JButton slave = null//从按钮
  63.     
  64.     
  65.     
  66. //------------------------------------------------------//
  67.  
  68. /**
  69.  * 构造方法 1:
  70.  * @param master javax.swing.JButton 主按钮
  71.  * @param slave javax.swing.JButton 从按钮
  72.  */
  73.     public SubordinateButton(javax/swing/JButton.java.html" target="_blank">JButton master, javax/swing/JButton.java.html" target="_blank">JButton slave) {
  74.         this.master = master;
  75.         this.slave = slave;
  76.         
  77.         listener = new DefaultMouseEvent(master ,slave);
  78.         
  79.         makeButton();
  80.     }
  81.  
  82.  
  83. /**
  84.  * 构造方法 2:
  85.  * @param master javax.swing.JButton 主按钮
  86.  * @param slave javax.swing.JButton 从按钮
  87.  * @param position int 从属按钮位置
  88.  */
  89.     public SubordinateButton(javax/swing/JButton.java.html" target="_blank">JButton master, javax/swing/JButton.java.html" target="_blank">JButton slave, int position) {
  90.         this(master, slave);
  91.         
  92.         if(position >= 1 && position <= 4)
  93.             this.position = position;
  94.     }
  95.  
  96.  
  97.  
  98.  
  99.  
  100. //------------------------------------------------------//
  101.  
  102. /**
  103.  * 方法:按钮制作
  104.  */
  105.     private void makeButton() {
  106.         setLayout(new java/awt/BorderLayout.java.html" target="_blank">BorderLayout());
  107.         
  108.         java/lang/String.java.html" target="_blank">String pos = position == 1? java/awt/BorderLayout.java.html" target="_blank">BorderLayout.NORTH:
  109.                      (position == 2? java/awt/BorderLayout.java.html" target="_blank">BorderLayout.SOUTH:
  110.                      (position == 3? java/awt/BorderLayout.java.html" target="_blank">BorderLayout.WEST:java/awt/BorderLayout.java.html" target="_blank">BorderLayout.EAST));
  111.         
  112.         add(master, java/awt/BorderLayout.java.html" target="_blank">BorderLayout.CENTER);
  113.         add(slave, pos);
  114.         
  115.         setUsualBorder(usual);
  116.         
  117.         setListener(listener);
  118.     }
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. /**
  126.  * 方法:设置普通状态边框
  127.  */
  128.     public void setUsualBorder(javax/swing/border/Border.java.html" target="_blank">Border usual) {
  129.         this.usual = usual;
  130.         master.setBorder(usual);
  131.         slave.setBorder(usual);
  132.     }
  133.  
  134.  
  135.  
  136. /**
  137.  * 方法:设置鼠标进入边框
  138.  */
  139.     public void setMouseInBorder(javax/swing/border/Border.java.html" target="_blank">Border mouseIn) {
  140.         this.mouseIn = mouseIn;
  141.     }
  142.  
  143.  
  144.  
  145. /**
  146.  * 方法:设置鼠标按下边框
  147.  */
  148.     public void setMousePressBorder(javax/swing/border/Border.java.html" target="_blank">Border mousePress) {
  149.         this.mousePress = mousePress;
  150.     }
  151.     
  152.     
  153.  
  154. /**
  155.  * 方法:设置鼠标监听
  156.  */
  157.     public void setListener(java/awt/event/MouseAdapter.java.html" target="_blank">MouseAdapter listener) {
  158.         this.listener = listener;
  159.         
  160.         master.removeMouseListener(listener);
  161.         slave.removeMouseListener(listener);
  162.         
  163.         master.addMouseListener(listener);
  164.         slave.addMouseListener(listener);
  165.     }
  166. }
  167.  
  168.  
  169. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  170.  
  171. //DefaultMouseEvent.java  主从按钮默认事件类
  172.  
  173. /**
  174.  *  [DefaultMouseEvent.java] 默认鼠标事件
  175.  *
  176.  * 创建日期:(2003-9-4)
  177.  * @author:ONE_Fox
  178.  */
  179.  
  180.  
  181. package subbutton;
  182.  
  183. import java.awt.event.java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent;
  184. import java.awt.event.java/awt/event/MouseAdapter.java.html" target="_blank">MouseAdapter;
  185. import javax.swing.javax/swing/JButton.java.html" target="_blank">JButton;
  186. import javax.swing.border.javax/swing/border/BevelBorder.java.html" target="_blank">BevelBorder;
  187.  
  188.  
  189. public class DefaultMouseEvent extends java/awt/event/MouseAdapter.java.html" target="_blank">MouseAdapter {
  190.     private javax/swing/JButton.java.html" target="_blank">JButton master = null;
  191.     private javax/swing/JButton.java.html" target="_blank">JButton slave = null;
  192.     
  193.     
  194.  
  195. //-----------------------------------------------------------//
  196.  
  197. /**
  198.  * 构造方法
  199.  * @param master javax.swing.JButton 主按钮
  200.  * @param slave javax.swing.JButton 从按钮
  201.  */
  202.     public DefaultMouseEvent(javax/swing/JButton.java.html" target="_blank">JButton master, javax/swing/JButton.java.html" target="_blank">JButton slave) {
  203.         this.master = master;
  204.         this.slave = slave;
  205.     }
  206.  
  207.  
  208.  
  209.  
  210. //-----------------------------------------------------------//
  211.  
  212. /**
  213.  * 方法:鼠标进入
  214.  */
  215.     public void mouseEntered(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  216.         master.setBorder(SubordinateButton.mouseIn);
  217.         slave.setBorder(SubordinateButton.mouseIn);
  218.     }
  219.  
  220.  
  221. /**
  222.  * 方法:鼠标退出事件
  223.  */
  224.     public void mouseExited(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  225.          master.setBorder(SubordinateButton.usual);
  226.          slave.setBorder(SubordinateButton.usual);
  227.     }
  228.  
  229.  
  230.  
  231. /**
  232.  * 方法:鼠标按下事件
  233.  */
  234.     public void mousePressed(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  235.         ((javax/swing/JButton.java.html" target="_blank">JButton)e.getComponent())
  236.                    .setBorder(SubordinateButton.mousePress);
  237.         
  238.         //////////SomeCode////////////
  239.     }
  240.  
  241.  
  242.  
  243. /**
  244.  * 方法:鼠标弹起事件
  245.  */
  246.     public void mouseReleased(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  247.         master.setBorder(SubordinateButton.mouseIn);
  248.         slave.setBorder(SubordinateButton.mouseIn);
  249.     }
  250. }
  251.  
  252.  
  253. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  254.  
  255. //DefaultOtherBTEvent.java  为使其它按钮风格统一而备用的其它按钮默认事件类
  256.  
  257. /**
  258.  *  [DefaultOtherBTEvent.java] 默认其它按钮鼠标事件
  259.  *
  260.  * 创建日期:(2003-9-4)
  261.  * @author:ONE_Fox
  262.  */
  263.  
  264.  
  265. package subbutton;
  266.  
  267. import java.awt.event.java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent;
  268. import java.awt.event.java/awt/event/MouseAdapter.java.html" target="_blank">MouseAdapter;
  269. import javax.swing.javax/swing/JButton.java.html" target="_blank">JButton;
  270. import javax.swing.border.javax/swing/border/BevelBorder.java.html" target="_blank">BevelBorder;
  271.  
  272.  
  273. public class DefaultOtherBTEvent extends java/awt/event/MouseAdapter.java.html" target="_blank">MouseAdapter {
  274.     private javax/swing/JButton.java.html" target="_blank">JButton button = null;
  275.     
  276.     
  277.     
  278. //--------------------------------------------------------------//
  279.  
  280. /**
  281.  * 构造方法
  282.  * @param button javax.swing.JButton 操作的按钮
  283.  */
  284.     public DefaultOtherBTEvent(javax/swing/JButton.java.html" target="_blank">JButton button) {
  285.         this.button = button;
  286.     }
  287.  
  288.  
  289.   
  290.  
  291. //-------------------------------------------------------------//
  292.  
  293. /**
  294.  * 方法:鼠标进入
  295.  */
  296.     public void mouseEntered(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  297.         button.setBorder(SubordinateButton.mouseIn);
  298.     }
  299.  
  300.  
  301. /**
  302.  * 方法:鼠标退出事件
  303.  */
  304.     public void mouseExited(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  305.          button.setBorder(SubordinateButton.usual);
  306.     }
  307.  
  308.  
  309.  
  310. /**
  311.  * 方法:鼠标按下事件
  312.  */
  313.     public void mousePressed(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  314.         button.setBorder(SubordinateButton.mousePress);
  315.         
  316.         //////////SomeCode////////////
  317.     }
  318.  
  319.  
  320.  
  321. /**
  322.  * 方法:鼠标弹起事件
  323.  */
  324.     public void mouseReleased(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  325.         button.setBorder(SubordinateButton.mouseIn);
  326.     }
  327. }
  328.  
  329.  
  330.  
  331. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  332.  
  333. //ThinBevelBorder.java  按钮边框类(由 zhvfeng 朋友制造)
  334.  
  335. /**
  336.  *  [ThinBevelBorder.java]
  337.  *
  338.  * @author:zhvfeng
  339.  *
  340.  * 这个 ThinBevelBorder 由 zhvfeng 朋友制造,
  341.  * 我在这里做个利用,比java默认的 BevelBorder 漂亮
  342.  */
  343.   
  344.   
  345. package subbutton;
  346.  
  347.  
  348. import java.awt.java/awt/Color.java.html" target="_blank">Color;
  349. import java.awt.java/awt/Component.java.html" target="_blank">Component;
  350. import java.awt.java/awt/Graphics.java.html" target="_blank">Graphics;
  351. import java.awt.java/awt/Insets.java.html" target="_blank">Insets;
  352. import javax.swing.border.javax/swing/border/BevelBorder.java.html" target="_blank">BevelBorder;
  353.  
  354.  
  355. public class ThinBevelBorder extends javax/swing/border/BevelBorder.java.html" target="_blank">BevelBorder {
  356.     
  357.     public ThinBevelBorder(int bevelType) { super(bevelType); }
  358.     
  359.     
  360.     public ThinBevelBorder(int bevelType, java/awt/Color.java.html" target="_blank">Color highlight, java/awt/Color.java.html" target="_blank">Color shadow) {
  361.         super(bevelType, highlight, shadow);
  362.     }
  363.     
  364.     
  365.     public ThinBevelBorder(int bevelType, java/awt/Color.java.html" target="_blank">Color highlightOuterColor,
  366.                            java/awt/Color.java.html" target="_blank">Color highlightInnerColor, java/awt/Color.java.html" target="_blank">Color shadowOuterColor,
  367.                                                  java/awt/Color.java.html" target="_blank">Color shadowInnerColor) {
  368.         super(bevelType, highlightOuterColor, highlightInnerColor,
  369.                                   shadowOuterColor, shadowInnerColor);
  370.     }
  371.     
  372.     
  373.     protected void paintRaisedBevel(java/awt/Component.java.html" target="_blank">Component c, java/awt/Graphics.java.html" target="_blank">Graphics g, int x, int y,
  374.                                                   int width, int height) {
  375.         try {
  376.             java/awt/Color.java.html" target="_blank">Color oldColor = g.getColor();
  377.             int h = height;
  378.             int w = width;
  379.             g.translate(x, y);
  380.             g.setColor(getHighlightInnerColor(c));
  381.             g.drawLine(0, 0, 0, h - 1);
  382.             g.drawLine(1, 0, w - 1, 0);
  383.             g.setColor(getShadowInnerColor(c));
  384.             g.drawLine(1, h - 1, w - 1, h - 1);
  385.             g.drawLine(w - 1, 1, w - 1, h - 2);
  386.             g.translate( -x, -y);
  387.             g.setColor(oldColor);
  388.         } catch (java/lang/NullPointerException.java.html" target="_blank">NullPointerException e) {   }
  389.     }
  390.     
  391.     
  392.     protected void paintLoweredBevel(java/awt/Component.java.html" target="_blank">Component c, java/awt/Graphics.java.html" target="_blank">Graphics g, int x, int y,
  393.                                                   int width, int height) {
  394.         try {
  395.             java/awt/Color.java.html" target="_blank">Color oldColor = g.getColor();
  396.             int h = height;
  397.             int w = width;
  398.             g.translate(x, y);
  399.             g.setColor(getShadowInnerColor(c));
  400.             g.drawLine(0, 0, 0, h - 1);
  401.             g.drawLine(1, 0, w - 1, 0);
  402.             g.setColor(getHighlightOuterColor(c));
  403.             g.drawLine(1, h - 1, w - 1, h - 1);
  404.             g.drawLine(w - 1, 1, w - 1, h - 2);
  405.             g.translate( -x, -y);
  406.             g.setColor(oldColor);
  407.         } catch (java/lang/NullPointerException.java.html" target="_blank">NullPointerException e) {   }
  408.     }
  409. }
  410.  
  411.  
  412. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  413.  
  414.  
  415. //最后一个 Test.java  测试类
  416.  
  417. /**
  418.  *  [Test.java] 主从按钮测试类
  419.  *
  420.  *
  421.  * 创建日期:(2003-9-4)
  422.  * @author:ONE_Fox
  423.  */
  424.  
  425.  
  426.  
  427. import java.awt.*;
  428. import java.awt.event.*;
  429. import javax.swing.*;
  430.  
  431. import subbutton.*;
  432.  
  433.  
  434.  
  435. public class Test extends javax/swing/JFrame.java.html" target="_blank">JFrame {
  436.     
  437.     //界面组件-----------------------//
  438.     private javax/swing/JToolBar.java.html" target="_blank">JToolBar edit = new javax/swing/JToolBar.java.html" target="_blank">JToolBar();
  439.     
  440.     private javax/swing/JButton.java.html" target="_blank">JButton jBtnNew = new javax/swing/JButton.java.html" target="_blank">JButton("  NEW  ",new javax/swing/ImageIcon.java.html" target="_blank">ImageIcon("ICON/edit.gif"));
  441.     private javax/swing/JButton.java.html" target="_blank">JButton jBtnMore = new javax/swing/JButton.java.html" target="_blank">JButton(">",new javax/swing/ImageIcon.java.html" target="_blank">ImageIcon("ICON/more.gif"));
  442.     private javax/swing/JButton.java.html" target="_blank">JButton[] jBtnOther = new javax/swing/JButton.java.html" target="_blank">JButton[5];
  443.     
  444.     private SubordinateButton sButton =  //主从按钮
  445.              new SubordinateButton(jBtnNew, jBtnMore, SubordinateButton.RIGHT);
  446.     
  447.  
  448.  
  449. /**
  450.  * 构造方法 Test()
  451.  */
  452.     public Test() {
  453.         makeFace(); //界面构造
  454.         addListener(); //事件监听
  455.         showFace(); //面板显示
  456.     }
  457.  
  458.  
  459.  
  460.  
  461. /**
  462.  * 面板制作
  463.  */
  464.     private void makeFace() {
  465.         
  466.         //演示按钮配置-------------------------------//
  467.         jBtnNew.setFocusable(false);
  468.         jBtnNew.setVerticalTextPosition(javax/swing/AbstractButton.java.html" target="_blank">AbstractButton.BOTTOM);
  469.         jBtnNew.setHorizontalTextPosition(javax/swing/AbstractButton.java.html" target="_blank">AbstractButton.CENTER);
  470.         
  471.         jBtnMore.setFocusable(false);
  472.         jBtnMore.setVerticalTextPosition(javax/swing/AbstractButton.java.html" target="_blank">AbstractButton.BOTTOM);
  473.         jBtnMore.setHorizontalTextPosition(javax/swing/AbstractButton.java.html" target="_blank">AbstractButton.CENTER);
  474.         
  475.         
  476.         //重新设置演示按钮的事件---------------------//
  477.         sButton.setListener(new DefaultMouseEvent(jBtnNew, jBtnMore) {
  478.             
  479.             //重写 mousePressed 方法
  480.             public void mousePressed(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  481.                 super.mousePressed(e);
  482.                 
  483.                 //自己的代码-------------------//
  484.                 if(((javax/swing/JButton.java.html" target="_blank">JButton)e.getComponent()).equals(jBtnNew))
  485.                     javax/swing/JOptionPane.java.html" target="_blank">JOptionPane.showMessageDialog(null,"你点了【主】按钮");
  486.                 else
  487.                     javax/swing/JOptionPane.java.html" target="_blank">JOptionPane.showMessageDialog(null,"你点了【从】按钮");
  488.             }
  489.         });
  490.         
  491.         
  492.         //其它按钮构建-------------------------------//
  493.         for(int i = 0; i < jBtnOther.length; i++) {
  494.             jBtnOther[i] = new javax/swing/JButton.java.html" target="_blank">JButton(" Other"+i+" ",
  495.                                          new javax/swing/ImageIcon.java.html" target="_blank">ImageIcon("ICON/insert.gif"));
  496.             
  497.             jBtnOther[i].setVerticalTextPosition(javax/swing/AbstractButton.java.html" target="_blank">AbstractButton.BOTTOM);
  498.             jBtnOther[i].setHorizontalTextPosition(javax/swing/AbstractButton.java.html" target="_blank">AbstractButton.CENTER);
  499.             
  500.             //添加其它按钮事件为默认 DefaultOtherBTEvent -----------//
  501.             jBtnOther[i].addMouseListener(new DefaultOtherBTEvent(jBtnOther[i]) {
  502.                 //重写 mousePressed 方法
  503.                 public void mousePressed(java/awt/event/MouseEvent.java.html" target="_blank">MouseEvent e) {
  504.                     super.mousePressed(e);
  505.                 
  506.                     //自己的代码-------------------//
  507.                     javax/swing/JOptionPane.java.html" target="_blank">JOptionPane.showMessageDialog(null,"你点了 "
  508.                               +((javax/swing/JButton.java.html" target="_blank">JButton)e.getComponent()).getText() +" !");
  509.                 }
  510.             });
  511.         }
  512.         
  513.         
  514.         //添加按钮到 JToolBar------------------------//
  515.         edit.setLayout(new java/awt/FlowLayout.java.html" target="_blank">FlowLayout(java/awt/FlowLayout.java.html" target="_blank">FlowLayout.LEFT, 0, 0));
  516.         edit.add(jBtnOther[0]);
  517.         edit.add(sButton);
  518.         for(int i = 1; i < jBtnOther.length; i++)
  519.             edit.add(jBtnOther[i]);
  520.         
  521.         
  522.         //设置其它按钮边框为 SubordinateButton.usual
  523.         for(int i = 0; i < jBtnOther.length; i++)
  524.             jBtnOther[i].setBorder(SubordinateButton.usual);
  525.         
  526.         //添加 JToolBar
  527.         getContentPane().add(edit,java/awt/BorderLayout.java.html" target="_blank">BorderLayout.NORTH);
  528.     }
  529.  
  530.  
  531.  
  532.  
  533. /**
  534.  * 面板显示
  535.  */
  536.     private void showFace() {
  537.         setTitle("主从按钮 Demo");
  538.         setSize(500, 400);
  539.         
  540.         java/awt/Toolkit.java.html" target="_blank">Toolkit tmpTK = java/awt/Toolkit.java.html" target="_blank">Toolkit.getDefaultToolkit();
  541.         java/awt/Dimension.java.html" target="_blank">Dimension dime = tmpTK.getScreenSize();  //取得屏幕大小
  542.         setLocation(dime.width2 - 250, dime.height2 - 200);
  543.         show();
  544.     }
  545.  
  546.  
  547.  
  548.  
  549. /**
  550.  * 方法:事件监听
  551.  */
  552.     private void addListener() {
  553.         this.addWindowListener(new java/awt/event/WindowAdapter.java.html" target="_blank">WindowAdapter() {  //添加窗口关闭事件
  554.             public void windowClosing(java/awt/event/WindowEvent.java.html" target="_blank">WindowEvent e) {
  555.                 setVisible(false);
  556.                 dispose();
  557.                 java/lang/System.java.html" target="_blank">System.exit(0);
  558.             }
  559.         });
  560.     }
  561.  
  562.  
  563.  
  564.  
  565. /**
  566.  * 程序入口
  567.  */
  568.     public static void main(java/lang/String.java.html" target="_blank">String[] args) {
  569.         //设置 windows 风格
  570.         try {
  571.             javax/swing/UIManager.java.html" target="_blank">UIManager.setLookAndFeel(
  572.                      "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
  573.         } catch (java/lang/Exception.java.html" target="_blank">Exception e) {}
  574.         
  575.         //全局字体设置-----------------------//
  576.         java/awt/Font.java.html" target="_blank">Font font1 = new java/awt/Font.java.html" target="_blank">Font("宋体",java/awt/Font.java.html" target="_blank">Font.PLAIN,12);
  577.         java/awt/Font.java.html" target="_blank">Font font2 = new java/awt/Font.java.html" target="_blank">Font("宋体",java/awt/Font.java.html" target="_blank">Font.PLAIN,15);
  578.         javax/swing/UIManager.java.html" target="_blank">UIManager.put("Button.font",font1);
  579.         javax/swing/UIManager.java.html" target="_blank">UIManager.put("OptionPane.messageFont",font2);
  580.         javax/swing/UIManager.java.html" target="_blank">UIManager.put("OptionPane.buttonFont",font1);
  581.         
  582.         //测试启动
  583.         new Test();
  584.     }
  585. }
上一篇:三步实现Cool Button

下一篇:主从按钮设计

  • pet store 的设计目标
  • JSP连接SQL Server 2000系统配置
  • (10)CDC API
  • Java学习推荐书籍
  • 简化Spring--Model层
  • 用数据库JDBC连接写法
  • Tomcat高级配置技巧
  • 告别System.out.print()—J2SDK1.4新增Java日志框架(一)
  • 设计模式袖珍版 连续转载之 - Command
  • 学习J2SE过程中的30个基本概念
  • 开发J2EE应用的要领
  • Eclipse学习4-在Eclipse中使用JUnit进行单元测试(上)
  • 使用TextMiniing和Apache POI获得Word文件内容,无须MS-Office ActiveX
  • 设计模式的点滴(二)
  • 保留的图形对象(Retained Graphic Objects)API 简介
  • 即时战略游戏将领指挥人工智能方案设想
  • 一个FIFO pipe的简单Java实现
  • 认识JDBC 2.0中的高级数据类型
  • 返回】 【顶部】 【关闭
    Copyright © 2005-2010 www.594k.com All Rights Reserved.
    版权所有:JAVA学习网 备案序号:皖ICP备06004238号