Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产特黄特色a级在线视,亚洲伊人成人,日韩毛片高清在线看

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaFX UI 控件之RadioButton

          avaFX RadioButton是可以選擇或不選擇的按鈕。RadioButton與JavaFX ToggleButton非常相似,但區別在于RadioButton一旦被選中,就不能“取消選中”。如果RadioButton是ToggleGroup的一部分,則在首次選擇RadioButton后,必須在ToggleGroup中選擇一個RadioButton。下面介紹 RadioButton如何使用:

          import javafx.application.Application;
          import javafx.beans.value.ChangeListener;
          import javafx.beans.value.ObservableValue;
          import javafx.event.ActionEvent;
          import javafx.event.EventHandler;
          import javafx.geometry.Insets;
          import javafx.scene.Scene;
          import javafx.scene.control.Label;
          import javafx.scene.control.RadioButton;
          import javafx.scene.control.Toggle;
          import javafx.scene.control.ToggleGroup;
          import javafx.scene.layout.VBox;
          import javafx.stage.Stage;
          public class RadioButtonDemo extends Application {
          
          
              public static void main(String[] args) {
                  launch(args);
              }
          
              @Override
              public void start(Stage primaryStage) throws Exception {
          
                  Label optionName = new Label();//顯示選擇哪個選項
          
                  RadioButton button1 = new RadioButton("小學");
                  RadioButton button2 = new RadioButton("初中");
                  RadioButton button3 = new RadioButton("高中");
                  RadioButton button4 = new RadioButton("本科");
                  RadioButton button5 = new RadioButton("碩士");
                  RadioButton button6 = new RadioButton("博士");
                  /**
                   * 將6個RadioButton綁定到同一個組,這樣可以實現同組只能選擇一個選項。
                   */
          
                  ToggleGroup group = new ToggleGroup();
                  button1.setToggleGroup(group);
                  button2.setToggleGroup(group);
                  button3.setToggleGroup(group);
                  button4.setToggleGroup(group);
                  button5.setToggleGroup(group);
                  button6.setToggleGroup(group);
          
                  /**
                   * 監聽選擇的選項
                   */
                  group.selectedToggleProperty().addListener((observable, oldValue, newValue) -> {
                      String selectOption = ((RadioButton)newValue).getText();
                      System.out.println("選擇了:"+selectOption);
                      optionName.setText(selectOption);
                  });
          
                  /**
                   * 監聽按鈕選中狀態變化
                   */
                  button1.selectedProperty().addListener((observable, oldValue, newValue)
                                      -> System.out.println(button1.getText()+"是否被選中了:"+newValue));
                  /**
                   * 按鈕點擊事件
                   */
                  button1.setOnAction(event -> System.out.println("點擊了"+button1.getText()));
          
          
                  VBox root=new VBox();
                  root.setSpacing(20);
                  root.setPadding(new Insets(10,10,10,10));
                  root.getChildren().addAll(button1,button2,button3,button4,button5,button6,optionName);
          
                  Scene scene=new Scene(root,400,300);
                  primaryStage.setScene(scene);
                  primaryStage.setTitle("Radio Button 示例");
                  primaryStage.show();
              }
          }

          運行效果:

          寫CSS的常用套路(下篇)...

          點擊觀看——我寫CSS的常用套路(上篇)...

          box-shadow

          為盒子添加陰影,增加盒子的立體感,可以多層疊加,并且會使陰影更加絲滑

          本demo地址:Pagination

          內發光

          注意到box-shadow還有個inset,用于盒子內部發光

          利用這個特性我們可以在盒子內部的某個范圍內設定顏色,做出一個新月形

          再加點動畫和濾鏡效果,“猩紅之月”閃亮登場!

          注意到它散發著淡淡的紅光,其實就是2個偽元素應用了模糊濾鏡所產生的效果

          本demo地址:Crimson Crescent Loading

          text-shadow

          文本陰影,本質上和box-shadow相同,只不過是相對于文本而言,常用于文本發光,也可通過多層疊加來制作霓虹文本和偽3D文本等效果

          發光文本

          本demo地址:Staggered GlowIn Text

          霓虹文本

          本demo地址:Neon Text

          偽3D文本

          本demo地址:Staggered Bouncing 3D Loading

          background-clip:text

          能將背景裁剪成文字的前景色,常用來和color: transparent配合生成漸變文本

          本demo地址:Menu Hover Fill Text

          gradient

          漸變可以作為背景圖片的一種,具有很強的色彩效果,甚至可以用來模擬光

          linear-gradient

          線性漸變是筆者最常用的漸變

          這個作品用到了HTML的dialog標簽,線性漸變背景,動畫以及overflow障眼法,細心的你看出來了嗎:)

          本demo地址:Confirm Modal

          radial-gradient

          徑向漸變常用于生成圓形背景,上面例子中Snow的背景就是一個橢圓形的徑向漸變

          此外,由于背景可以疊加,我們可以疊加多個不同位置大小的徑向漸變來生成圓點群,再加上動畫就產生了一種微粒效果,無需多余的div元素

          本demo地址:Particle Button

          conic-gradient

          圓錐漸變可以用于制作餅圖

          用一個偽元素疊在餅圖上面,并將content設為某個值(這個值通過CSS變量計算出來),就能制作出度量計的效果,障眼法又一次完成了它的使命

          本demo地址:Gauge (No SVG)

          filter

          PS里的濾鏡,blur最常用

          融合效果

          當blur濾鏡和contrast濾鏡一起使用時,會產生一種融合(gooey)的奇特效果

          本demo地址:Snow Scratch

          backdrop-filter

          對背景應用濾鏡,產生毛玻璃的效果

          本demo地址:Frosted Glass

          mix-blend-mode

          PS里的混合模式,常用于文本在背景下的特殊效果

          以下利用濾色模式(screen)實現文本視頻蒙版效果

          本demo地址:Video Mask Text

          clip-path

          PS里的裁切,可以制作各種不規則形狀。如果和動畫結合也會相當有意思

          本demo地址:Name Card Hover Expand

          故障效果

          由于clip-path有裁切功能,因此可以將多個文字疊在一起,并按比例裁切成多分,再應用交錯動畫,就能制作出酷炫的故障效果(glitch)。

          本demo地址:Cross Bar Glitch Text

          mask

          PS里的遮罩。所謂遮罩,就是原始圖片只顯示遮罩圖片非透明的部分

          鏤空效果

          雖然clip-path能裁切出形狀,但它無法鏤空,因為形狀的里面它管不著

          可能有人(包括我)會用偽元素來“模擬”鏤空(通過設置同樣的背景色),但這樣并非真的鏤空,換了個背景或浮在圖片上就會暴露出來,這時我們就要求助于遮罩了

          假設,你想制作一個空心的圓環,那么你只需將一個徑向漸變作為元素的遮罩,并且第一個color-stop設置為透明,其他的color-stop設置為其他顏色即可,因為遮罩的定義就是只顯示遮罩圖片非透明的部分

          注意:為了消除鋸齒,這個徑向漸變的中間需要有一個額外的color-stop用于緩沖,長度設置為原長度加0.5px即可

          本demo地址:Circle Arrow Nav

          -webkit-box-reflect

          投影效果,不怎么常用,適合立體感強的作品

          本demo地址:Card Flip Reflection

          web animations

          雖然這并不是一個CSS特性,但是它經常用于完成那些CSS所做不到的事情

          那么何時用它呢?當CSS動畫中有屬性無法從CSS中獲取時,自然就會使用到它了

          跟蹤鼠標的位置

          目前CSS還尚未有獲取鼠標位置的API,因此考慮用JS來進行

          通過查閱相關的DOM API,發現在監聽鼠標事件的API中,可通過e.clientX和e.clientY來獲得鼠標當前的位置

          既然能夠獲取鼠標的位置,那么跟蹤鼠標的位置也就不是什么難事了:通過監聽mouseenter和mouseleave事件,來獲取鼠標出入一個元素時的位置,并用此坐標來當作鼠標的位移距離,監聽mousemove事件,來獲取鼠標在元素上移動時的位置,同樣地用此坐標來當作鼠標的位移距離,這樣一個跟蹤鼠標的效果就實現了

          本demo地址:Menu Hover Image

          CSS Houdini

          CSS Houdini是CSS的底層API,它使我們能夠通過這套接口來擴展CSS的功能

          讓漸變動起來

          目前來說,我們無法直接給漸變添加動畫,因為瀏覽器不理解要改變的值是什么類型

          這時,我們就可以利用CSS.registerProperty()來注冊我們的自定義變量,并聲明其語法類型(syntax)為顏色類型<color>,這樣瀏覽器就能理解并對顏色應用插值方法來進行動畫

          還記得上文提到的圓錐漸變conic-gradient()嗎?既然它可以用來制作餅圖,那么我們能不能讓餅圖動起來呢?答案是肯定的,定義三個變量:--color1、--color2和--pos,其中--pos的語法類型為長度百分比<length-percentage>,將其從0變為100%,餅圖就會順時針旋轉出現

          利用絕對定位和層疊上下文,我們可以疊加多個從小到大的餅圖,再給它們設置不同的顏色,應用交錯動畫,就有了下面這個炫麗的效果

          本demo地址:Mawaru

          彩蛋

          將交錯動畫和偽類偽元素結合起來寫出來的慎重勇者風格的菜單

          本demo地址:Shinchou Menu

          我比較喜歡使用 Vue 來開發,所以有時會深入研究其功能和特性。通過這篇文章,向你們介紹十個很酷的竅門和技巧,以幫助大家成為更好的 Vue 開發者。

          插槽語法更漂亮

          隨著Vue 2.6的推出,已經引入了插槽的簡寫方式,之前簡寫可用于事件(例如,@click表示v-on:click事件)或冒號表示方式用于綁定(:src)。例如,如果有一個表格組件,則可以按以下方式使用此功能:

          $on(‘hook:’)

          如果要在created或mounted方法中定義自定義事件偵聽器或第三方插件,并且需要在beforeDestroy方法中將其刪除以免引起任何內存泄漏,則可以使用此功能。使用$on(‘hook:’)方法,我們可以僅使用一種生命周期方法(而不是兩種)來定義/刪除事件。

          prop 驗證

          你可能已經知道可以將props驗證為原始類型,例如字符串,數字甚至對象。我們還可以使用自定義驗證器,例如,如果要針對字符串列表進行驗證:

          動態指令參數

          Vue 2.6 的最酷功能之一是可以將指令參數動態傳遞給組件。假設有一個按鈕組件,并且在某些情況下想監聽單擊事件,而在其他情況下想監聽雙擊事件。這就是動態指令派上用場的地方了:

          重用同一路由的組件

          有時,我們不同路由共用某些時,如果在這些路由之間切換,則默認情況下,共享組件將不會重新渲染,因為Vue 出于性能原因會重用該組件。但是,如果我們仍然希望重新渲染這些組件,則可以通過在路由器視圖組件中提供:key屬性來實現重新渲染。

          從父類到子類的所有 props

          這是一個非常酷的功能,可將所有prop從父組件傳遞到子組件。如果我們有另一個組件的包裝器組件,這將特別方便。因為,我們不必一個一個將prop傳遞給子組件,而是一次傳遞所有prop:

          上面的可以代替下面的做法

          從父類到子類的所有事件偵聽器

          如果子組件不在父組件的根目錄下,則可以將所有事件偵聽器從父組件傳遞到子組件,如下所示:

          如果子組件位于其父組件的根目錄下,則默認情況下它將獲得那些組件,因此不需要此小技巧。

          $createElement

          默認情況下,每個Vue實例都可以訪問$createElement方法來創建和返回虛擬節點。例如,可以利用它在可以通過v-html指令傳遞的方法中使用標記。在函數組件中,可以將此方法作為渲染函數中的第一個參數訪問。

          使用 JSX

          由于Vue CLI 3默認支持使用JSX,因此現在(如果愿意)我們可以使用JSX編寫代碼(例如,可以方便地編寫函數組件)。如果尚未使用Vue CLI 3,則可以使用babel-plugin-transform-vue-jsx獲得JSX支持。

          自定義 v-model

          默認情況下,v-model是@input事件監聽器和:value props上的語法糖。但是,我們可以在Vue組件中指定一個模型屬性,以定義使用什么事件和值

          總結

          希望這些竅門和技巧對你有所幫助,如果你也知道哪些技巧,歡迎留言。


          原文:https://www.telerik.com/blogs/12-tips-and-tricks-to-improve-your-vue-projects


          主站蜘蛛池模板: 无码人妻精品一区二区三区66| 无码一区二区三区亚洲人妻| 亚洲夜夜欢A∨一区二区三区| 国产成人精品无码一区二区三区| 久久久久人妻一区精品色| 亚洲AV无码国产一区二区三区| 亚洲午夜一区二区三区| 亚洲AV无码一区二区三区电影| AV天堂午夜精品一区二区三区| 精品乱码一区内射人妻无码| 无码国产精成人午夜视频一区二区| 中文字幕一区二区三区久久网站 | 国产亚洲一区二区三区在线不卡 | 国产福利视频一区二区| 国产精品无码一区二区在线| 美女一区二区三区| 国产亚洲情侣一区二区无| 国产福利在线观看一区二区| 亚洲一区免费观看| 久久综合精品不卡一区二区| 美女免费视频一区二区三区| 国模无码视频一区二区三区| 人妻aⅴ无码一区二区三区| 国产亚洲无线码一区二区| 国产一区二区三区在线| 免费无码一区二区| 一区二区三区在线免费| 久久精品一区二区影院| 国产高清精品一区| 无码精品人妻一区二区三区免费看| 香蕉久久AⅤ一区二区三区| 亚洲AV永久无码精品一区二区国产| 日韩精品中文字幕视频一区| 国产日韩精品一区二区在线观看 | 精品一区二区三区影院在线午夜| 精品人妻一区二区三区四区在线| 亚洲午夜精品第一区二区8050| 一区二区三区午夜| 亚洲午夜精品一区二区公牛电影院 | 国产裸体舞一区二区三区| 国产一区二区在线|播放|