<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的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品亚洲成A人无码成A在线观看 | 黄色a级片免费看| 国产h肉在线视频免费观看| 免费国产高清视频| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲一区二区三区AV无码| 亚洲H在线播放在线观看H| 国产亚洲人成网站在线观看不卡| 一区二区三区视频免费| 免费a级毛片大学生免费观看| av无码国产在线看免费网站| 亚洲美女视频一区二区三区| 中国人xxxxx69免费视频| 亚洲欧洲日产国码www| 免费黄网在线观看| 一级特黄aaa大片免费看| 国产午夜亚洲精品国产成人小说| 日韩精品无码免费视频| 亚洲第一香蕉视频| 四虎永久在线精品视频免费观看| 一区二区三区免费视频网站| 91av免费在线视频| 亚洲精品**中文毛片| 亚洲精品国产电影午夜| 亚洲五月综合网色九月色| 色播在线永久免费视频| 亚洲成人一区二区| 99re6热视频精品免费观看| 亚洲视频无码高清在线| 免费一级国产生活片| 亚洲精品尤物yw在线影院 | 亚洲理论电影在线观看| 久久亚洲精精品中文字幕| 国产91久久久久久久免费| 亚洲一区精品伊人久久伊人| 三年片在线观看免费观看高清电影 | 亚洲国产精品无码第一区二区三区| 亚洲精品视频免费观看| 国产亚洲人成网站观看| 亚洲欧洲无卡二区视頻| 久久精品一区二区免费看|