久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Swing 測(cè)試 組件 actionlistener

 閃寧斯達(dá) 2012-05-10

package om.hasau.swing.test;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;

import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

/**
 * T.java
 * @author   hasau
 * @E_mail   [email protected]
 * @TIME    2012-5-9    上午07:57:26 
 */
/*
 * Swing 測(cè)試
 * */
public class SwingComponent {
 JFrame f = new JFrame("Swing 測(cè)試");
 // 定義一個(gè)按鈕,,為為之指定圖標(biāo)
 Icon okIcon = new ImageIcon("image/selected.jpg");
 JButton ok = new JButton("確認(rèn)", okIcon);
 // 定義一個(gè)單選按鈕,,默認(rèn)選中
 JRadioButton male = new JRadioButton("男", true);
 JRadioButton female = new JRadioButton("女", true);
 // 定義一個(gè)ButtonGroup,用于將上邊兩個(gè)單選按鈕設(shè)置為一組
 ButtonGroup bg = new ButtonGroup();
 // 定義一個(gè)復(fù)選框,初始不選中
 JCheckBox married = new JCheckBox("是否已婚", false);
 String[] colors = { "紅色", "綠色", "藍(lán)色" };
 // 定義一個(gè)下拉框
 JComboBox colorChooser = new JComboBox(colors);
 // 定義一個(gè)列表選擇框
 JList colorList = new JList(colors);
 // 定義一個(gè)多行文本域
 JTextArea ta = new JTextArea(8, 20);
 // 定義一個(gè)單行文本域
 JTextField name = new JTextField(40);
 JMenuBar mb = new JMenuBar();
 JMenu file = new JMenu("文件");
 JMenu edit = new JMenu("編輯");
 // 創(chuàng)建菜單項(xiàng)
 JMenuItem newItem = new JMenuItem("新建");
 JMenuItem saveItem = new JMenuItem("保存");
 JMenuItem exitItem = new JMenuItem("退出");
 JCheckBoxMenuItem autoItem = new JCheckBoxMenuItem("自動(dòng)換行");
 JMenuItem copyItem = new JMenuItem("復(fù)制");
 JMenuItem pasteItem = new JMenuItem("粘貼");
 JMenu format = new JMenu("格式");
 JMenuItem commenItem = new JMenuItem("注釋");
 JMenuItem cancelItem = new JMenuItem("取消注釋");
 // 定義一個(gè)右鍵菜單設(shè)置程序風(fēng)格
 JPopupMenu pop = new JPopupMenu();
 // 用于組合三個(gè)風(fēng)格菜單項(xiàng)的ButtonGroup
 ButtonGroup flavorGroup = new ButtonGroup();
 // 創(chuàng)建三個(gè)單選按鈕用于設(shè)置程序風(fēng)格
 JRadioButton metaItem = new JRadioButton("Metal風(fēng)格", true);
 JRadioButton windowItem = new JRadioButton("window風(fēng)格", true);
 JRadioButton motifItem = new JRadioButton("motif風(fēng)格", true);

 // --------------------初始化界面的init方法-----------------
 public void init() {
  // 創(chuàng)建一個(gè)裝載文本框,,按鈕的JPanel
  JPanel buttom = new JPanel();
  buttom.add(name);
  buttom.add(ok);
  f.add(buttom, BorderLayout.SOUTH);
  // 創(chuàng)建一個(gè)裝載下拉框,,三個(gè)JCheckBox的Jpanel
  JPanel checkPanel = new JPanel();
  checkPanel.add(colorChooser);
  // 把性別單選按鈕添加到JButtonGroup里
  bg.add(male);
  bg.add(female);
  checkPanel.add(male);
  checkPanel.add(female);
  checkPanel.add(married);
  // 創(chuàng)建一個(gè)垂直排列的組建Box,裝載多行文本域Jpanel
  Box topLeft = Box.createVerticalBox();
  JScrollPane jsp = new JScrollPane(ta);
  topLeft.add(jsp);
  topLeft.add(checkPanel);
  // 創(chuàng)建一個(gè)水平排列的Box,,裝載topLeft,colorList
  Box top = Box.createHorizontalBox();
  top.add(topLeft);
  top.add(colorList);
  // 將top Box容器添加到窗口
  f.add(top);
  // -------------------開始組合菜單,,并為菜單添加事件監(jiān)聽
  // 為newItem設(shè)置快捷鍵,設(shè)置快捷鍵時(shí)要使用大寫字母
  newItem.setAccelerator(KeyStroke
    .getKeyStroke('N', InputEvent.CTRL_MASK));
  newItem.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    ta.append("單擊了" + e.getActionCommand() + "\n");
   }

  });
  // 為file菜單添加菜單項(xiàng)
  file.add(newItem);
  file.add(saveItem);
  file.add(exitItem);
  // 為編輯菜單添加菜單項(xiàng)
  edit.add(autoItem);
  // 添加分割線
  edit.addSeparator();
  edit.add(copyItem);
  edit.add(pasteItem);
  // 為commentItem添加提示信息
  commenItem.setToolTipText("將程序代碼注釋起來");
  // 為format菜單添加菜單項(xiàng)
  format.add(commenItem);
  format.add(cancelItem);
  // 將format菜單組合到edit中,,從而形成二級(jí)菜單效果
  edit.add(format);
  // 將file,,edit菜單添加到mb菜單條中
  mb.add(file);
  mb.add(edit);
  // 為窗口設(shè)置菜單條
  f.setJMenuBar(mb);
  // ---------------------組合右鍵菜單,并安裝右鍵菜單
  flavorGroup.add(motifItem);
  flavorGroup.add(metaItem);
  flavorGroup.add(windowItem);
  pop.add(motifItem);
  pop.add(metaItem);
  pop.add(windowItem);
  // 為三個(gè)菜單創(chuàng)建事件監(jiān)聽器
  ActionListener flavorListeren = new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    try {
     if (e.getActionCommand().equals("Metal風(fēng)格")) {
      changeFlavor(1);

     } else if (e.getActionCommand().equals("window風(fēng)格")) {
      changeFlavor(2);
     } else if (e.getActionCommand().equals("motif風(fēng)格")) {
      changeFlavor(3);
     }
    } catch (Exception ex) {
     ex.printStackTrace();
    }
   }
  };
  // 為三個(gè)菜單添加事件監(jiān)聽器
  metaItem.addActionListener(flavorListeren);
  windowItem.addActionListener(flavorListeren);
  motifItem.addActionListener(flavorListeren);
  // 調(diào)用該方法即可設(shè)置右鍵菜單,,無須使用事件機(jī)制
  ta.setComponentPopupMenu(pop);
  // 設(shè)置關(guān)閉窗口時(shí)退出程序
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.pack();
  f.setVisible(true);
 }

 // 定義一個(gè)方法,,用于改變界面風(fēng)格
 private void changeFlavor(int flavor) throws Exception {
  switch (flavor) {
  case 1:

   UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
   break;
  case 2:
   UIManager
     .setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
   break;
  case 3:
   UIManager
     .setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
   break;
  }
  //更新f窗口內(nèi)頂級(jí)容器以及內(nèi)部所有組建UI
  SwingUtilities.updateComponentTreeUI(f.getContentPane());
  //更新mb菜單條以及所有組建
  SwingUtilities.updateComponentTreeUI(mb);
  //更新pop右鍵菜單以及所有組建
  SwingUtilities.updateComponentTreeUI(pop);
 }
 
 public void ttt(){
  ActionListener add = new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    e.getActionCommand().equals("");
   
   }
  };
 }
 
 //-------------------------程序入口-------------------
 public static void main(String[] args) {
  //設(shè)置Swing窗口使用的風(fēng)格
  //JFrame.setDefaultLookAndFeelDecorated(true);
  new SwingComponent().init();
 }
}


 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多