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

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

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

    繼續(xù)關(guān)注我的C語言學(xué)習(xí)博客

    林臨的地盤

    java學(xué)習(xí)博客
    posts - 44, comments - 28, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    SWING之一句話經(jīng)驗(yàn)

    Posted on 2007-03-07 09:52 lubaolin 閱讀(455) 評論(0)  編輯  收藏

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

    2. pack()是設(shè)置窗體大小自適應(yīng)其內(nèi)組件,setSize()為設(shè)置其顯示的大小。

    3. 默認(rèn)關(guān)閉窗體JFrame時(shí),是隱藏。要想真退出。請加入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進(jìn)行操作了。

    5. 光標(biāo)移動(dòng)到組件上給出提示:setToolTipText(”this is tip”);

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

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

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

    9.? 讀取JAR包內(nèi)資源,應(yīng)該使用:getClass().getResource();

    10. 容器布局為空后——setLayout(null),其內(nèi)組件應(yīng)setBounds();

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

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

    13. 應(yīng)用程序和applet小程序共存:直接把a(bǔ)pplet往jframe里面加就成應(yīng)用程序。

    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. 密碼框可設(shè)setEchoChar(‘#’);或者密碼時(shí) pwd = new String(password.getPassword());

    17. 用JlayeredPane添加組件時(shí)候可以設(shè)置深度。

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

    19. JAVA2D 中設(shè)置虛線:
    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 中設(shè)置字體筆畫大小:
    Font cf = g.getFont();
    Font newf = new Font(cf.getName(),cf.getStyle(),cf.getSize()+20);
    g.setFont(newf);

    21.讓樹無圖標(biāo)標(biāo)簽
    ((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.通過標(biāo)尺顯示滑塊
    slider.setMajorTickSpacing(20);
    slider.setPaintTicks(true);
    slider.setPaintLabels(true);

    24.讓滑塊自動(dòng)對齊到標(biāo)尺
    slider.setSnapToTicks(true);

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

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

    27.多選單選按鈕
    JCheckBox 和 JRadioButton 其中單選放入ButtonGroup對象中。
    判斷是否選中:isSelected()
    獲取標(biāo)簽用: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.樹節(jié)點(diǎn)匹配:
    TreePath path = tree.getNextMatch(str,0,Positon.Bias.Forward);
    if(path !=null)
    {
    ??? tree.setSelectionPath(path);
    }

    30.獲取樹節(jié)點(diǎn)

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

    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)得到子圖象(其中的矩形范圍是鼠標(biāo)拖動(dòng)事件而得到)
    ImageIO.write (fullScreenImage.getSubimage(int x,int y,int w,int h),"png","out.png");

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

    轉(zhuǎn)自:http://m.tkk7.com/JAVA-HE/archive/2007/02/06/98338.aspx


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    繼續(xù)關(guān)注我的C語言學(xué)習(xí)博客
    主站蜘蛛池模板: 久久久无码精品亚洲日韩蜜桃| 特黄特色大片免费| 成人A片产无码免费视频在线观看| 国产一级淫片a免费播放口之 | 午夜一区二区免费视频| 亚洲人成片在线观看| 国产2021精品视频免费播放| 亚洲人成在线影院| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 亚洲国产女人aaa毛片在线| 青青操视频在线免费观看| 亚洲AV无码一区东京热久久| 国产精品免费福利久久| 亚洲黄色中文字幕| 永久免费AV无码国产网站| 亚洲精品无码久久久久A片苍井空| 在线免费观看一级毛片| 免费看一级高潮毛片| 在线a亚洲v天堂网2019无码| 热久久这里是精品6免费观看| 久久精品国产亚洲av四虎| 一级女人18毛片免费| 国产av无码专区亚洲av毛片搜| 久久精品亚洲福利| 99热这里有免费国产精品| 日韩亚洲人成在线| 亚洲一区二区三区免费| 色欲国产麻豆一精品一AV一免费| 亚洲人成网男女大片在线播放| 日本免费高清一本视频| 国产精品免费αv视频| 亚洲欧洲日产国产最新| 国产成人免费网站在线观看 | 国产精品玖玖美女张开腿让男人桶爽免费看| 国产亚洲精品自在线观看| 精品熟女少妇a∨免费久久| 亚洲高清国产拍精品熟女| 亚洲精品无码永久中文字幕| 皇色在线视频免费网站| 亚洲阿v天堂在线2017免费| 亚洲国产视频一区|