Swing中引入優(yōu)秀庫

篇幅引入

  • java swing 做為 在原來AWT基礎(chǔ)上 亩冬,引入跨平臺(tái)的產(chǎn)品胸完,具有非常好的跨平臺(tái)性务冕,但是在實(shí)際開發(fā)過程中血当,swing本身提供的組件功能實(shí)在太簡(jiǎn)略,無法勝任開發(fā)優(yōu)秀的貴軟件禀忆。本文介紹 在swing開發(fā)中臊旭,引入開源組件包,來完善swing的擴(kuò)展支持油湖。
    • 開發(fā)環(huán)境 netbeans 8.2
    • swingc
    • swingx
      開發(fā)者群:466473786

教程開始

  • 新建項(xiàng)目
    • 選擇java 應(yīng)用程序
Paste_Image.png
  • 在demo包下建立 jframe窗體 并且刪除 原來的demo.java
  • 點(diǎn)擊run 即可運(yùn)行項(xiàng)目 hello world版本即建立完成
Paste_Image.png
  • 選中上方的newjframe 選中設(shè)計(jì) 即可打開及時(shí)化 設(shè)計(jì)窗口
Paste_Image.png
  • 組件面板顯示為原生組件
Paste_Image.png
  • 添加開源組件
    • 在組件面板 選中鼠標(biāo)右鍵 輸入 swingc 并打開組件面板管理器 巍扛,添加jar包
Paste_Image.png
  • 添加組件包完成
Paste_Image.png
  • 寫一個(gè)例子
  • 托一個(gè)按鈕,一個(gè)地址框
Paste_Image.png

寫一行代碼:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package demo;
import javax.swing.JOptionPane;

/**
 *
 * @author Administrator
 */
public class NewJFrame extends javax.swing.JFrame {

    /**
     * Creates new form NewJFrame
     */
    public NewJFrame() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jCMACAddressField1 = new craky.componentc.JCMACAddressField();
        jCButton2 = new craky.componentc.JCButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jCButton2.setText("jCButton2");
        jCButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(87, 87, 87)
                        .addComponent(jCMACAddressField1, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(157, 157, 157)
                        .addComponent(jCButton2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(103, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(49, 49, 49)
                .addComponent(jCMACAddressField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(100, 100, 100)
                .addComponent(jCButton2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(109, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void jCButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
         JOptionPane.showConfirmDialog(rootPane, "swingc 組件使用");
               
    }                                         

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private craky.componentc.JCButton jCButton2;
    private craky.componentc.JCMACAddressField jCMACAddressField1;
    // End of variables declaration                   
}

—運(yùn)行效果


Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末乏德,一起剝皮案震驚了整個(gè)濱河市撤奸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喊括,老刑警劉巖胧瓜,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異郑什,居然都是意外死亡府喳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門蘑拯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钝满,“玉大人,你說我怎么就攤上這事申窘⊥溲粒” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵剃法,是天一觀的道長(zhǎng)碎捺。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么收厨? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任晋柱,我火速辦了婚禮,結(jié)果婚禮上诵叁,老公的妹妹穿的比我還像新娘雁竞。我一直安慰自己,他們只是感情好黎休,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布浓领。 她就那樣靜靜地躺著,像睡著了一般势腮。 火紅的嫁衣襯著肌膚如雪联贩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天捎拯,我揣著相機(jī)與錄音泪幌,去河邊找鬼。 笑死署照,一個(gè)胖子當(dāng)著我的面吹牛祸泪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播建芙,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼没隘,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了禁荸?” 一聲冷哼從身側(cè)響起右蒲,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赶熟,沒想到半個(gè)月后瑰妄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡映砖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年间坐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邑退。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竹宋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出地技,到底是詐尸還是另有隱情逝撬,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布乓土,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏趣苏。R本人自食惡果不足惜狡相,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望食磕。 院中可真熱鬧尽棕,春花似錦、人聲如沸彬伦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽单绑。三九已至回官,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搂橙,已是汗流浹背歉提。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留区转,地道東北人苔巨。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像废离,于是被迫代替她去往敵國(guó)和親侄泽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,777評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫蜻韭、插件悼尾、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,065評(píng)論 4 62
  • 我錯(cuò)亂在風(fēng)與雪之間,伸手接一片晶瑩的雪花湘捎!虛空中你的臉龐诀豁,在真實(shí)虛幻之中,若隱若現(xiàn)窥妇! ...
    去路無痕閱讀 274評(píng)論 0 0
  • 在這里活翩,一抬眼還能看到遠(yuǎn)處山頭上潔白的雪烹骨。建筑物背陰面的雪,還沒來得及融化材泄,這驚蟄沮焕,本該是風(fēng)雷起而百蟲出的日子,西...
    高冷男孩會(huì)逗比閱讀 584評(píng)論 5 4
  • e8a37405cb53閱讀 310評(píng)論 0 0