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

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

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

    1. JFrame對象一般可以直接向里面添加數據,但是在設置背景顏色時得用:Container f = new JFrame(“test”).getContentPane();

    2. pack()是設置窗體大小自適應其內組件,setSize()為設置其顯示的大小。

    3. 默認關閉窗體JFrame時,是隱藏。要想真退出。請加入setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JFrame.EXIT_ON_CLOSE是一整形常量,值為3。

    4. 加載GIF圖片:
    MediaTracker tracker = new MediaTracker(this);
    Image img = new ImageIcon (getClass().getResource(“test.gif”)).getImage():
    Tracker.addImage(img,0):
    try{
      tracker.waitForAll();
     }catch(Exception e)
    {}
    此后就可以對完整的gif進行操作了。

    5. 光標移動到組件上給出提示:setToolTipText(”this is tip”);

    6. JScrollPane可以通過setVerticalScrollBarPolicy(int policy)
    和setHorizontalScrollBarPolicy(int policy)來選擇是否顯示滾動條。

    7.彈出消息框:JOptionPane.showMessageDialog(btn,new String (“test”));
    彈出錯誤提示:JOptionPane.showMessageDialog(null,"錯誤信息","錯誤框標題",JOptionPane.ERROR_MESSAGE);

    8. 文本輸入框右對齊:SetHorizontalAlignment(JTextField.RIGHT);

    9.  讀取JAR包內資源,應該使用:getClass().getResource();

    10. 容器布局為空后——setLayout(null),其內組件應setBounds();

    11.內存回收:if(Runtime.getRuntime().freeMemory()<Runtime.getRuntime().totalMemory()/3)
    {
     System.gc();
    }

    12.  JFrame 窗口不可最大化:setResizable(false);

    13. 應用程序和applet小程序共存:直接把applet往jframe里面加就成應用程序。

    14. 讓窗口居中(屏幕)顯示:setLocationRelativeTo(null):
    或者用:
    Toolkit kit = Toolkit.getDefaultToolkit():
    Dimension screenSize = kit.getScreenSize();
    f.setLocation((screenSize.Width-f.getWidth())/2, (screenSize.Height-f.getHeight())/2);

    15. 選擇皮膚感官:
    try{
    UIManager.setLookAndFeel ( "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
                SwingUtilities.updateComponentTreeUI(f);
    }

    16. 密碼框可設setEchoChar(‘#’);或者密碼時 pwd = new String(password.getPassword());

    17. 用JlayeredPane添加組件時候可以設置深度。

    18. 區別單雙擊事件:
    if(e.getClickCount ==1)
    {}else if(e.getClickCount ==2){}

    19. JAVA2D 中設置虛線:
    float [] dash = {2.0f,4.0f};
    g2.setStroke(
    new BasicStroke(2.0f, BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL,2.0f,dash,2.0f));

    20. JAVA2D 中設置字體筆畫大小:
    Font cf = g.getFont();
    Font newf = new Font(cf.getName(),cf.getStyle(),cf.getSize()+20);
    g.setFont(newf);

    21.讓樹無圖標標簽
    ((DefaultTreeCellRenderer)tree.getCellRenderer()).setOpenIcon(null);
    ((DefaultTreeCellRenderer)tree.getCellRenderer()).setClosedIcon(null);
    ((DefaultTreeCellRenderer)tree.getCellRenderer()).setDisabledIcon(null);
    ((DefaultTreeCellRenderer)tree.getCellRenderer()).setLeafIcon(null);

    22.豎著顯示滑塊
    new JSlider(SwingConstants.VERTICAL,min,max,initialValue);

    23.通過標尺顯示滑塊
    slider.setMajorTickSpacing(20);
    slider.setPaintTicks(true);
    slider.setPaintLabels(true);

    24.讓滑塊自動對齊到標尺
    slider.setSnapToTicks(true);

    25.滑塊事件
    addChangeListener
    ChangeListener -> stateChanged(ChangeEvent event)

    26.滑塊標尺特殊化
    HashtMap map = new HashMap();
    map.put(new Integer(0),new JLabel("A"));
    slider.setLabel(map);

    27.多選單選按鈕
    JCheckBox 和 JRadioButton 其中單選放入ButtonGroup對象中。
    判斷是否選中:isSelected()
    獲取標簽用:getText();
    事件:ItemListener
    方法:itemStateChanged(ItemEvent event)

    28.讓樹一開始就全部展開
    expandAll(tree,new TreePath(tree.getModel().getRoot()));
    其中有:
    public void expandAll (JTree tree,TreePath path)
    {
        tree.expandPath(path);
        Obect parent = path.getLastPathComponent();
        TreeModel model = tree.getModel()
        if(model ==null)return;
        if(model.isLeaf(parent)) return;
        int size = model.getChildCount(parent);
        for(int i = 0 ;i<size;i++)
        {
            Object child = model.getChild(parent,i);
            expandAll(tree,path.pathByAddingChild(child));
        }
    }

    29.樹節點匹配:
    TreePath path = tree.getNextMatch(str,0,Positon.Bias.Forward);
    if(path !=null)
    {
        tree.setSelectionPath(path);
    }

    30.獲取樹節點

    TreeSelectionListener->valueChanged(TreeSelectionEvent e)
    TreePath path = e.getPath();
    String info = path.getLastPathComponent().toString();
    而這里獲取到是最后那個選擇節點,如成都。
    JTree tree = (JTree)e.getSource();
    TreePath tp= tree.getPathForLorLocation(e.getPoint().x,e.getPoint().y);
    這個PATH是完整的節點名,比如:四川,成都

    31.截屏程序核心:
    BufferedImage fullScreenImage = robot.createScreenCapture (new Rectangle (
                    Toolkit.getDefaultToolkit ().getScreenSize ()));
            ImageIcon icon = new ImageIcon (fullScreenImage);
    利用 fullScreenImage.getSubimage(int x,int y,int w,int h)得到子圖象(其中的矩形范圍是鼠標拖動事件而得到)
    ImageIO.write (fullScreenImage.getSubimage(int x,int y,int w,int h),"png","out.png");

    界面上:1.繼承JLabel 覆蓋起paint方法;
        2.JPanel 從(JPanel)Dialog.getContentPane()來,JLabel 添加進JPanel;
        3.Dialog設置為屏幕大小、不顯示邊框等飾物dialog.setUndecorated (true);(JFrame中其實也有這個方法。)
        4.設置十字光標,dialog.setCursor (Cursor.getPredefinedCursor (Cursor.CROSSHAIR_CURSOR));
            5.設置為模態 dialog.setModal (true);

















    posted on 2007-02-06 15:54 -274°C 閱讀(1549) 評論(1)  編輯  收藏 所屬分類: JAVA


    FeedBack:
    # re: SWING之一句話經驗(不斷補充中)
    2007-03-07 09:53 | lubaolin
    經驗所得,難能可貴
    我得轉載一下  回復  更多評論
      

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914354
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 亚洲中文无码线在线观看| 人人爽人人爽人人片av免费 | 国产电影午夜成年免费视频| 亚洲午夜精品国产电影在线观看| 日韩成人免费在线| 一个人免费视频观看在线www| 亚洲视频在线观看2018| 亚洲人妻av伦理| 1000部拍拍拍18勿入免费凤凰福利| 亚洲AV无码一区二区三区鸳鸯影院 | 久久久久久影院久久久久免费精品国产小说 | 国产日产亚洲系列| 毛片a级毛片免费观看品善网| yellow免费网站| 国产日本亚洲一区二区三区| 国产AⅤ无码专区亚洲AV| 在线观看免费高清视频| 免费国产污网站在线观看| 亚洲日韩国产欧美一区二区三区| 久久国产亚洲精品麻豆| 免费高清在线爱做视频| 午夜视频在线免费观看| 成年大片免费视频播放一级| 亚洲免费视频观看| 亚洲va久久久噜噜噜久久狠狠| 国产男女猛烈无遮挡免费网站| 91在线手机精品免费观看| 一级人做人爰a全过程免费视频 | 亚洲精品动漫在线| 亚洲色成人WWW永久网站| 国产成人免费网站在线观看| 久久成人国产精品免费软件| 免费看少妇高潮成人片| 人人公开免费超级碰碰碰视频| 亚洲中文字幕久久精品无码A| 青青草原精品国产亚洲av| 国产亚洲美日韩AV中文字幕无码成人| 国产精品深夜福利免费观看| 青青青国产在线观看免费网站| 免费91最新地址永久入口| AAAAA级少妇高潮大片免费看 |