Swing 各種元件組合大全
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; //import java.awt.List; /** * Description: * <br/>網站: <a href="http://www.crazyit.org">瘋狂Java聯盟</a> * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee * <br/>This program is protected by copyright laws. * <br/>Program Name: * <br/>Date: * @author Yeeku.H.Lee
[email protected] * @version 1.0 */ public class Swing1 { JFrame f = new JFrame("測試"); // 定義一個按鈕,併為之指定圖示 Icon okIcon = new ImageIcon("ico/ok.png"); JButton ok = new JButton("確認" , okIcon); // 定義一個單選按鈕,初始處於選中狀態 JRadioButton male = new JRadioButton("男" , true); // 定義一個單選按鈕,初始處於沒有選中狀態 JRadioButton female = new JRadioButton("女" , false); // 定義一個ButtonGroup,用於將上面兩個JRadioButton組合在一起 ButtonGroup bg = new ButtonGroup(); // 定義一個複選框,初始處於沒有選中狀態。 JCheckBox married = new JCheckBox("是否已婚?" , false); String[] colors = new String[]{"紅色" , "綠色" , "藍色"}; // 定義一個下拉選擇框 // JComboBox<String> colorChooser = new JComboBox<>(colors); JComboBox colorChooser = new JComboBox(colors); // 定義一個列表選擇框 // JList<String> colorList = new JList<>(colors); JList colorList = new JList(colors); // 定義一個8行、20列的多行文字域 JTextArea ta = new JTextArea(8, 20); // 定義一個40列的單行文字域 JTextField name = new JTextField(40); JMenuBar mb = new JMenuBar(); JMenu file = new JMenu("檔案"); JMenu edit = new JMenu("編輯"); // 建立“新建”選單項,併為之指定圖示 Icon newIcon = new ImageIcon("ico/new.png"); JMenuItem newItem = new JMenuItem("新建" , newIcon); // 建立“儲存”選單項,併為之指定圖示 Icon saveIcon = new ImageIcon("ico/save.png"); JMenuItem saveItem = new JMenuItem("儲存" , saveIcon); // 建立“退出”選單項,併為之指定圖示 Icon exitIcon = new ImageIcon("ico/exit.png"); JMenuItem exitItem = new JMenuItem("退出" , exitIcon); JCheckBoxMenuItem autoWrap = new JCheckBoxMenuItem("自動換行"); // 建立“複製”選單項,併為之指定圖示 JMenuItem copyItem = new JMenuItem("複製" , new ImageIcon("ico/copy.png")); // 建立“貼上”選單項,併為之指定圖示 JMenuItem pasteItem = new JMenuItem("貼上" , new ImageIcon("ico/paste.png")); JMenu format = new JMenu("格式"); JMenuItem commentItem = new JMenuItem("註釋"); JMenuItem cancelItem = new JMenuItem("取消註釋"); // 定義一個右鍵選單用於設定程式風格 JPopupMenu pop = new JPopupMenu(); // 用於組合三個風格選單項的ButtonGroup ButtonGroup flavorGroup = new ButtonGroup(); // 建立五個單選框按鈕,用於設定程式的外觀風格 JRadioButtonMenuItem metalItem = new JRadioButtonMenuItem("Metal風格" , true); JRadioButtonMenuItem nimbusItem = new JRadioButtonMenuItem("Nimbus風格"); JRadioButtonMenuItem windowsItem = new JRadioButtonMenuItem("Windows風格"); JRadioButtonMenuItem classicItem = new JRadioButtonMenuItem("Windows經典風格"); JRadioButtonMenuItem motifItem = new JRadioButtonMenuItem("Motif風格"); // -----------------用於執行介面初始化的init方法--------------------- public void init() { // 建立一個裝載了文字框、按鈕的JPanel JPanel bottom = new JPanel(); bottom.add(name); bottom.add(ok); f.add(bottom , BorderLayout.SOUTH); // 建立一個裝載了下拉選擇框、三個JCheckBox的JPanel JPanel checkPanel = new JPanel(); checkPanel.add(colorChooser); bg.add(male); bg.add(female); checkPanel.add(male); checkPanel.add(female); checkPanel.add(married); // 建立一個垂直排列元件的Box,盛裝多行文字域JPanel Box topLeft = Box.createVerticalBox(); // 使用JScrollPane作為普通元件的JViewPort JScrollPane taJsp = new JScrollPane(ta); //⑤ topLeft.add(taJsp); topLeft.add(checkPanel); // 建立一個水平排列元件的Box,盛裝topLeft、colorList Box top = Box.createHorizontalBox(); top.add(topLeft); top.add(colorList); // 將top Box容器新增到視窗的中間 f.add(top); // -----------下面開始組合菜單、併為選單新增監聽器---------- // 為newItem設定快捷鍵,設定快捷鍵時要使用大寫字母 newItem.setAccelerator(KeyStroke.getKeyStroke('N' , InputEvent.CTRL_MASK)); //① newItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ta.append("使用者單擊了“新建”選單\n"); } }); // 為file選單新增選單項 file.add(newItem); file.add(saveItem); file.add(exitItem); // 為edit選單新增選單項 edit.add(autoWrap); // 使用addSeparator方法來新增選單分隔線 edit.addSeparator(); edit.add(copyItem); edit.add(pasteItem); // 為commentItem元件新增提示資訊 commentItem.setToolTipText("將程式程式碼註釋起來!"); // 為format選單新增選單項 format.add(commentItem); format.add(cancelItem); // 使用新增new JMenuItem("-")的方式不能新增選單分隔符 edit.add(new JMenuItem("-")); // 將format選單組合到edit選單中,從而形成二級選單 edit.add(format); // 將file、edit選單新增到mb選單條中 mb.add(file); mb.add(edit); // 為f視窗設定選單條 f.setJMenuBar(mb); // -----------下面開始組合右鍵選單、並安裝右鍵選單---------- flavorGroup.add(metalItem); flavorGroup.add(nimbusItem); flavorGroup.add(windowsItem); flavorGroup.add(classicItem); flavorGroup.add(motifItem); pop.add(metalItem); pop.add(nimbusItem); pop.add(windowsItem); pop.add(classicItem); pop.add(motifItem); // 為5個風格選單建立事件監聽器 ActionListener flavorListener = new ActionListener() { public void actionPerformed(ActionEvent e) { try { if(e.getActionCommand().equals("Metal風格")){ changeFlavor(1);} if(e.getActionCommand().equals("Nimbus風格")){ changeFlavor(2);} if(e.getActionCommand().equals("Windows風格")){ changeFlavor(3);} if(e.getActionCommand().equals("Windows經典風格")){ changeFlavor(4);} if(e.getActionCommand().equals("Motif風格")){ changeFlavor(5);} } catch (Exception ee) { ee.printStackTrace(); } } }; // 為五個風格選單項新增事件監聽器 metalItem.addActionListener(flavorListener); nimbusItem.addActionListener(flavorListener); windowsItem.addActionListener(flavorListener); classicItem.addActionListener(flavorListener); motifItem.addActionListener(flavorListener); // 呼叫該方法即可設定右鍵選單,無須使用事件機制 ta.setComponentPopupMenu(pop); //④ // 設定關閉視窗時,退出程式 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.pack(); f.setVisible(true); } // 定義一個方法,用於改變介面風格 private void changeFlavor(int flavor)throws Exception { switch (flavor) { // 設定Metal風格 case 1: UIManager.setLookAndFeel( "javax.swing.plaf.metal.MetalLookAndFeel"); break; // 設定Nimbus風格 case 2: UIManager.setLookAndFeel( "javax.swing.plaf.nimbus.NimbusLookAndFeel"); break; // 設定Windows風格 case 3: UIManager.setLookAndFeel( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); break; // 設定Windows經典風格 case 4: UIManager.setLookAndFeel( "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"); break; // 設定Motif風格 case 5: UIManager.setLookAndFeel( "com.sun.java.swing.plaf.motif.MotifLookAndFeel"); break; } // 更新f視窗內頂級容器以及內部所有元件的UI SwingUtilities.updateComponentTreeUI(f.getContentPane()); //② // 更新mb選單條以及內部所有元件的UI SwingUtilities.updateComponentTreeUI(mb); // 更新pop右鍵選單以及內部所有元件的UI SwingUtilities.updateComponentTreeUI(pop); } public static void main(String[] args) { // 設定Swing視窗使用Java風格 //JFrame.setDefaultLookAndFeelDecorated(true); //③ new Swing1().init(); } }
相關推薦
Swing 各種元件組合大全
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; //import java.awt.List; /** * Descriptio
組合框控制元件用法大全
一、 控制Combo Box的下拉長度 1、當你在介面上拖出來了combox控制元件後,點選它的屬性,把No integral height 這一項選成true 2、點選一下那個combox控制元件的小三角,現在拖動出現的那個框框的的長度,拖到你覺得合適就行
java swing 元件大全----測試Swing所有元件及其相應的事件
package testSwing; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.tree.*; import javax.swing.even
Vue元件外掛大全
UI元件 element - 餓了麼出品的Vue2的web UI工具套件 Vux - 基於Vue和WeUI的元件庫 mint-ui - Vue 2的移動UI元素 iview - 基於 Vuejs 的開源 UI 元件庫 Keen-UI -
一起學HBase——簡單介紹HBase各種元件
HBase是谷歌BigTble的開源實現。谷歌的三篇論文拉開了大資料江湖的序幕,鑄就了現在以Hadoop為主的大資料技術生態圈。而HBase是開源的大資料資料庫,和傳統的行式資料庫不同的是,HBase是列式資料庫。列式資料的特點是開源橫向擴充套件,將一張表的資料儲存在hadoop叢集的不同datanode中,
Iview Table元件中各種元件擴充套件
一、Iview Table 元件 多選框選中和禁選設定 Table新增多選框 通過給 columns 資料設定一項,指定 type: 'selection',即可自動開啟多選功能。 正確使用好以下事件,可以達到需要的效果: @on-select,選
(轉)各種排列組合的數的公式和推導
原貼地址:https://blog.csdn.net/qq_36808030/article/details/75045129?utm_source=blogxgwz0 一、排列(在乎順序) 全排列:P(n,n)=n! n個人都排隊。第一個位置可以選n個,第二位置可以選n-1個,以此類推
設定Swing控制元件不可用(即setEnabled(false))時的字型顏色
使用Swing做介面顯示,部分文字顯示框要求不能修改,卻又沒有 readOnly 屬性,只能設定 setEnabled(false) 來實現。可是,setEnabled(false) 後,字型顏色就變了,字看不清了。 這個時候,我們可以使用 setDisabledTextColor(Col
各種一句話木馬大全
轉載請註明出處:https://blog.csdn.net/l1028386804/article/details/84206143 <%eval request("c")%> <%execute request("c")%> <%execute(request
java-swing-基本元件
不亂於心,不困於情,不念過去,不懼將來 SWING swing庫是AWT(Abstract Windowing Toolkit)的一個擴充套件,AWT是java 1.0為支援圖形程式設計而提供的一個包。在功能方面,Swing在其前身的基礎上做了很多改進:新元件,擴充套件的元件
Swing樹元件的使用
Swing樹元件 一、簡單的樹 樹狀結構是一種常用的資訊表現形式,它可以直觀的顯示出一組資訊的層次結構。Swing中的JTree類是用來建立樹的,該類的常用構造方法如下: JTree():建立一個預設的樹 JTree(TreeNode node):根據指定根節點建立樹。 JTree(T
Swing表格元件
Swing表格的使用 一、利用JTable類直接建立表格 1、建立表格: 在JTable類中除了預設的構造方法之外,還提供了利用指定表格列名陣列和表格資料陣列建立表格的構造方法,如下: JTable(Object[][
tkinter控制元件屬性大全
1.Button 按鈕。類似標籤,但提供額外的功能,例如滑鼠掠過、按下、釋放以及鍵盤操作/事件 2.Canvas 畫布。提供繪圖功能(直線、橢圓、多邊形、矩形) ;可以包含圖形或點陣圖 3.Checkbutton 選擇按鈕。一組方框,可以選擇其中的任意
【Java】各種型別轉換大全
目錄 Object轉Integer public static void main(String[] args) { Object obj = 111;
oracle的各種常用函式大全
1.字元函式 (1)concat(str1,str2)字串拼接函式 select concat('Hello ','World') from dual; --等價於 select 'Hello '||'World' from dual; (2)initcap(s
python 各種包下載大全網址
經常碰見pip install出現異常,安裝不了一些python包。 收藏分享一個python庫下載網站,可以先在上面直接下載到本地,然後進入對應的資料夾,pip install 一波,就能完美安
網頁IE輕鬆呼叫VLC播放器實現監控(元件+方法大全)
公司突發奇想,要把剛買回來的網路監控機用自己內部網站線上監控。 作為網站的開發員,我接下了這個任務。 網路上有很多資料參與,但是都不全都不盡人意,最後經過多次的不同關鍵字的查詢和測試,總算讓我成功了。 轉入正題: 一、程式碼 <!DOCTYPE html PUBLIC
Android 控制元件屬性大全
android控制元件的屬性 本節描述android空間的位置,內容等相關屬性及屬性的含義 第一類:屬性值為true或false android:layout_centerHrizontal 水平居中 (Hrizontal表示水平) android:layout_ce
Swing表格元件——建立可以滾動的表格
package jtable;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;/* * 表格元件 *
Android Material Design新UI控制元件使用大全 三
序言 在我們對NavigationView側滑,TextInputLayout輸入框,Snackbar彈出提示框,FloatingActionBar圓形button,TabLayout頂部導航欄及CoordinatorLayout有了一定的瞭解後,我們最後將對AppBa