<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大刀亂砍(詳細信息的窗口對話框)

    效果圖:


    下面代碼....自己看...看了都不回帖!! 還想加注釋????自己慢慢看

    package MoreInfoPanel;

    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Container;
    import java.awt.Font;
    import java.awt.Window;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JPanel;

    public class MoreInfoPanel extends JPanel {
        
        
    private JButton newsButton;
        
    public Component topComponent;
        
    protected SpinWidget spinWidget;
        
    public Component bottomComponent;

        
    public static final int SPIN_WIDGET_HEIGHT = 14;

        
    public MoreInfoPanel (Component tc, Component mic) {
            topComponent 
    = tc;
            spinWidget 
    = new SpinWidget( );
            bottomComponent 
    = mic;
            newsButton();
            doMyLayout();
        }

        
    private void newsButton(){
            newsButton 
    = new JButton();
            newsButton.setFont(
    new Font("宋體",0,12));
            newsButton.setText(
    "詳細信息");
            newsButton.addActionListener(
    new ActionListener(){
                
    public void actionPerformed(ActionEvent arg0) {
                    
    if(newsButton.getText().equals("詳細信息")){
                         spinWidget.setOpen(
    true);
                         resetBottomVisibility();
                         newsButton.setText(
    "點擊返回");
                         
    return;
                    }

                    
    if(newsButton.getText().equals("點擊返回")){
                         spinWidget.setOpen(
    false);
                         resetBottomVisibility();
                         newsButton.setText(
    "詳細信息");
                         
    return;
                    }

                    
                }

            }
    );
        }


        
    protected void doMyLayout( ) {
            setLayout(
    new BorderLayout());
            add(topComponent,BorderLayout.NORTH);
            add(newsButton,BorderLayout.EAST);
            add(spinWidget,BorderLayout.SOUTH);
            add(bottomComponent,BorderLayout.CENTER);
            resetBottomVisibility();
        }


        
    public void resetBottomVisibility() {
             
    if ((bottomComponent == null||
                (spinWidget 
    == null))
                 
    return;
             bottomComponent.setVisible (spinWidget.isOpen());
             revalidate();
             
    if (isShowing()) {
                 Container ancestor 
    = getTopLevelAncestor(); 
                 
    if ((ancestor != null&& (ancestor instanceof Window))        
                     ((Window) ancestor).pack();
                 repaint();
             }

         }

            
         
    public void showBottom (boolean b) {
             spinWidget.setOpen(b);
         }


          
    public boolean isBottomShowing ( ) {
              
    return spinWidget.isOpen( );
          }

    }



    package MoreInfoPanel;

    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Polygon;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;

    import javax.swing.JPanel;

    public class SpinWidget extends JPanel {
        
    boolean open;

        
    int Integer = MoreInfoPanel.SPIN_WIDGET_HEIGHT;
        
        Dimension mySize 
    = new Dimension (Integer,
                                          Integer);
        
    final int HALF_HEIGHT = Integer / 2;
        
    int[] openXPoints =
            
    1, HALF_HEIGHT, Integer-1};

        
    int[] openYPoints =
            
    { HALF_HEIGHT, Integer-1, HALF_HEIGHT};
        
    int[] closedXPoints =
            
    11, HALF_HEIGHT};
        
    int[] closedYPoints =
            
    1, Integer-1, HALF_HEIGHT };
        Polygon openTriangle 
    =
            
    new Polygon (openXPoints, openYPoints, 3);
        Polygon closedTriangle 
    =
            
    new Polygon (closedXPoints, closedYPoints, 3);

        
    public SpinWidget( ) {
            setOpen (
    false);
            addMouseListener (
    new MouseAdapter( ) {

                    
    public void mouseClicked (MouseEvent e) {
                        handleClick( );
                    }

                }
    );
        }


        
    public void handleClick() {
            setOpen (
    ! isOpen( ));
        }


        
    public boolean isOpen( ) {
            
    return open;
        }


        
    public void setOpen (boolean o) {
            open 
    = o;
        }


        
    public Dimension getMinimumSize( ) return mySize; }
        
    public Dimension getPreferredSize( ) return mySize; }

        
    public void paint (Graphics g) {    
            
    if (isOpen( )) 
                g.fillPolygon (openTriangle); 
            
    else 
                g.fillPolygon (closedTriangle); 
        }
     
    }


    package MoreInfoPanel;

    import java.awt.*
    import javax.swing.*;

    public class TestMoreInfoPanel {

        
    public static void main (String[] args) {
            JOptionPane pane 
    =
                
    new JOptionPane ("想知道我的藏身之處嗎?請點擊詳細信息",
                                 JOptionPane.WARNING_MESSAGE);
            JDialog dialog 
    = pane.createDialog (null"Warning");
            Container grabbedContent 
    = dialog.getContentPane( );
            JTextArea area 
    =
                
    new JTextArea ("QQ群:22069957,經國際ISO9001國際認證.有品牌的群"
                               
    540);
            pane.setFont(
    new Font("宋體",0,12));
            area.setFont(
    new Font("宋體",0,12));
            area.setLineWrap (
    true);
            area.setWrapStyleWord (
    true);

            JScrollPane scroller 
    =
                
    new JScrollPane (area, 
                                 ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, 
                                 ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
            MoreInfoPanel mip 
    = new MoreInfoPanel (grabbedContent, scroller);
            dialog.setContentPane (mip);
            dialog.pack();
            dialog.setVisible(
    true);
            System.exit(
    0);
        }
     
    }

    posted on 2008-06-07 14:21 相信 閱讀(756) 評論(2)  編輯  收藏 所屬分類: Swing文章

    評論

    # re: 大刀亂砍(詳細信息的窗口對話框) 2008-07-20 23:57 黑色

    。。。。。。

    雖然每一樣代碼都不是很多..

    但是也看得出來你很認真的..

    你到是越來越像寫小說的了...


    期待你更多的作品  回復  更多評論   

    # re: 大刀亂砍(詳細信息的窗口對話框) 2008-11-10 10:50 larrycheung

    學習中。  回復  更多評論   

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團隊

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    swingchina 專業搞Swing的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品国产人成亚洲区| 成人毛片18女人毛片免费96| 一级毛片一级毛片免费毛片| a级成人毛片免费视频高清| 无码精品国产一区二区三区免费| 日本阿v免费费视频完整版| 免费99热在线观看| 78成人精品电影在线播放日韩精品电影一区亚洲 | 国产一区视频在线免费观看| 久久久无码精品亚洲日韩蜜桃| 亚洲不卡影院午夜在线观看| 一区二区免费国产在线观看| 日本免费人成在线网站| 免费a在线观看播放| eeuss影院ss奇兵免费com| 成年在线观看免费人视频草莓| 亚洲精品无码av片| 一级毛片在线免费观看| 亚洲国产精品网站久久| 成人av片无码免费天天看| 日本媚薬痉挛在线观看免费| 91在线亚洲精品专区| 免费做爰猛烈吃奶摸视频在线观看| 国产亚洲成AV人片在线观黄桃| 小说专区亚洲春色校园| 国产成人yy免费视频| 久久亚洲AV无码精品色午夜| 免费观看黄网站在线播放| 久香草视频在线观看免费| 亚洲爱情岛论坛永久| 香蕉视频在线观看免费国产婷婷 | 亚洲精品成人av在线| 国产成人免费ā片在线观看老同学 | 亚洲av成人一区二区三区观看在线| 日本XXX黄区免费看| 无码的免费不卡毛片视频| 久久亚洲精品成人AV| 最近免费中文字幕大全免费| 国产日韩亚洲大尺度高清| 91嫩草国产在线观看免费| 亚洲免费在线观看视频|