JAVA選單事件………………
程式碼如下:(幫幫忙看下,怎麼不能執行,事件不行):
import javax.swing.*;
import java.awt.event.*;
import java.awt.datatransfer.Clipboard ;
import java.awt.*;
import java.awt.datatransfer.*;
public class MenuDemo extends JFrame implements ActionListener {
//File Menu
JMenuBar jmb=new JMenuBar();
JMenu File=new JMenu("File");
JMenuItem newfile=new JMenuItem("New");
JMenuItem open=new JMenuItem("Open");
JMenuItem close=new JMenuItem("Close");
//Edit Menu
JMenu Edit=new JMenu("Edit");
JMenuItem copy=new JMenuItem("Copy");
JMenuItem cut=new JMenuItem("Cut");
JMenuItem paste=new JMenuItem("Paste");
//Style Menu
JMenu Style=new JMenu("Style");
JMenu Font=new JMenu("Font");
JMenuItem Bold=new JMenuItem("Bold");
JMenuItem Italic=new JMenuItem("Italic");
//Style Menu in Style,,all kinds of color
JMenu Color=new JMenu("Color");
JMenuItem RedItem=new JMenuItem("Red");
JMenuItem BlueItem=new JMenuItem("Blue");
JMenuItem GreenItem=new JMenuItem("Green");
//BackColor
JMenu Bgcolor=new JMenu("BackDrop");
JMenuItem Red=new JMenuItem("Red");
JMenuItem Blue=new JMenuItem("Blue");
JMenuItem Green=new JMenuItem("Green");
JMenu Help=new JMenu("Help");
JTextArea display=new JTextArea();
Clipboard clipboard=null;
JFileChooser fc;
public MenuDemo() {
super("檔案管理");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add("South",display);
this.getContentPane().add(new JScrollPane(display));
this.setJMenuBar(jmb);
initFileMenu();
initEditMenu();
initStyleMenu();
initHelpMenu();
}
public void initFileMenu(){
jmb.add(File);
File.add(newfile);
newfile.addActionListener(this);
newfile.setEnabled(false);
File.add(open);
open.addActionListener(this);
newfile.setEnabled(false);
File.addSeparator();
File.add(close);
close.addActionListener(this);
}
public void initEditMenu(){
jmb.add(Edit);
Edit.add(copy);
copy.addActionListener(this);
Edit.add(cut);
cut.addActionListener(this);
Edit.add(paste);
paste.addActionListener(this);
}
public void initStyleMenu(){
jmb.add(Style);
Style.add(Font);
Font.add(Bold);
Bold.addActionListener(this);
Font.add(Italic);
Italic.addActionListener(this);
Style.add(Bgcolor);
Bgcolor.add(Red);
Red.addActionListener(this);
Bgcolor.add(Blue);
Blue.addActionListener(this);
Bgcolor.add(Green);
Green.addActionListener(this);
Style.add(Color);
Color.add(RedItem);
RedItem.addActionListener(this);
Color.add(BlueItem);
BlueItem.addActionListener(this);
Color.add(GreenItem);
GreenItem.addActionListener(this);
}
public void initHelpMenu(){
jmb.add(Help);
}
public static void main(String[] args) {
MenuDemo m=new MenuDemo();
m.setVisible(true);
}
public void actionPerformed(ActionEvent e){
JMenuItem m=(JMenuItem)e.getSource();
if(m==close){
dispose();
System.exit(0);
}
else if(m==newfile){
display.setText("");
}
else if(m==open){
int returnVal = fc.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
fc.getSelectedFile().getName());
}
}
else if(m==RedItem){
display.setForeground(Color.red);
}
else if(m==BlueItem){
display.setForeground(Color.blue);
}
else if(m==GreenItem){
display.setForeground(Color.green);
}
else if(m==Red){
display.setBackground(Color.red);
}
else if(m==Blue){
display.setBackground(Color.blue);
}
else if(m==Green){
display.setBackground(Color.green);
}
else if(m==Bold){
display.setFont(new Font("SansSerif",Font.BOLD,12));
}
else if(m==Italic){
display.setFont(new Font("SansSerif",Font.ITALIC,12));
}
else if(m==copy){ //放到clipboard
clipboard=getToolkit().getSystemClipboard();//獲取系統剪貼簿。
String temp=display.getSelectedText(); //拖動滑鼠選取文字。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
}
else if(m==cut){
String temp=display.getSelectedText(); //拖動滑鼠選取文字。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
int start=display.getSelectionStart();
int end =display.getSelectionEnd();
display.replaceRange("",start,end) ; //從display中刪除被選取的文字。
}
else if(m==paste){
Transferable contents=clipboard.getContents(this);
DataFlavor flavor= DataFlavor.stringFlavor;
if( contents.isDataFlavorSupported(flavor))
try{ String str;
str=(String)contents.getTransferData(flavor);
display.append(str);
}
catch(Exception ee){}
}
}
}
import javax.swing.*;
import java.awt.event.*;
import java.awt.datatransfer.Clipboard ;
import java.awt.*;
import java.awt.datatransfer.*;
public class MenuDemo extends JFrame implements ActionListener {
//File Menu
JMenuBar jmb=new JMenuBar();
JMenu File=new JMenu("File");
JMenuItem newfile=new JMenuItem("New");
JMenuItem open=new JMenuItem("Open");
JMenuItem close=new JMenuItem("Close");
//Edit Menu
JMenu Edit=new JMenu("Edit");
JMenuItem copy=new JMenuItem("Copy");
JMenuItem cut=new JMenuItem("Cut");
JMenuItem paste=new JMenuItem("Paste");
//Style Menu
JMenu Style=new JMenu("Style");
JMenu Font=new JMenu("Font");
JMenuItem Bold=new JMenuItem("Bold");
JMenuItem Italic=new JMenuItem("Italic");
//Style Menu in Style,,all kinds of color
JMenu Color=new JMenu("Color");
JMenuItem RedItem=new JMenuItem("Red");
JMenuItem BlueItem=new JMenuItem("Blue");
JMenuItem GreenItem=new JMenuItem("Green");
//BackColor
JMenu Bgcolor=new JMenu("BackDrop");
JMenuItem Red=new JMenuItem("Red");
JMenuItem Blue=new JMenuItem("Blue");
JMenuItem Green=new JMenuItem("Green");
JMenu Help=new JMenu("Help");
JTextArea display=new JTextArea();
Clipboard clipboard=null;
JFileChooser fc;
public MenuDemo() {
super("檔案管理");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add("South",display);
this.getContentPane().add(new JScrollPane(display));
this.setJMenuBar(jmb);
initFileMenu();
initEditMenu();
initStyleMenu();
initHelpMenu();
}
public void initFileMenu(){
jmb.add(File);
File.add(newfile);
newfile.addActionListener(this);
newfile.setEnabled(false);
File.add(open);
open.addActionListener(this);
newfile.setEnabled(false);
File.addSeparator();
File.add(close);
close.addActionListener(this);
}
public void initEditMenu(){
jmb.add(Edit);
Edit.add(copy);
copy.addActionListener(this);
Edit.add(cut);
cut.addActionListener(this);
Edit.add(paste);
paste.addActionListener(this);
}
public void initStyleMenu(){
jmb.add(Style);
Style.add(Font);
Font.add(Bold);
Bold.addActionListener(this);
Font.add(Italic);
Italic.addActionListener(this);
Style.add(Bgcolor);
Bgcolor.add(Red);
Red.addActionListener(this);
Bgcolor.add(Blue);
Blue.addActionListener(this);
Bgcolor.add(Green);
Green.addActionListener(this);
Style.add(Color);
Color.add(RedItem);
RedItem.addActionListener(this);
Color.add(BlueItem);
BlueItem.addActionListener(this);
Color.add(GreenItem);
GreenItem.addActionListener(this);
}
public void initHelpMenu(){
jmb.add(Help);
}
public static void main(String[] args) {
MenuDemo m=new MenuDemo();
m.setVisible(true);
}
public void actionPerformed(ActionEvent e){
JMenuItem m=(JMenuItem)e.getSource();
if(m==close){
dispose();
System.exit(0);
}
else if(m==newfile){
display.setText("");
}
else if(m==open){
int returnVal = fc.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
fc.getSelectedFile().getName());
}
}
else if(m==RedItem){
display.setForeground(Color.red);
}
else if(m==BlueItem){
display.setForeground(Color.blue);
}
else if(m==GreenItem){
display.setForeground(Color.green);
}
else if(m==Red){
display.setBackground(Color.red);
}
else if(m==Blue){
display.setBackground(Color.blue);
}
else if(m==Green){
display.setBackground(Color.green);
}
else if(m==Bold){
display.setFont(new Font("SansSerif",Font.BOLD,12));
}
else if(m==Italic){
display.setFont(new Font("SansSerif",Font.ITALIC,12));
}
else if(m==copy){ //放到clipboard
clipboard=getToolkit().getSystemClipboard();//獲取系統剪貼簿。
String temp=display.getSelectedText(); //拖動滑鼠選取文字。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
}
else if(m==cut){
String temp=display.getSelectedText(); //拖動滑鼠選取文字。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
int start=display.getSelectionStart();
int end =display.getSelectionEnd();
display.replaceRange("",start,end) ; //從display中刪除被選取的文字。
}
else if(m==paste){
Transferable contents=clipboard.getContents(this);
DataFlavor flavor= DataFlavor.stringFlavor;
if( contents.isDataFlavorSupported(flavor))
try{ String str;
str=(String)contents.getTransferData(flavor);
display.append(str);
}
catch(Exception ee){}
}
}
}
相關文章
- select下拉選單 change事件事件
- Java選擇框和單選按鈕Java
- 滑鼠右鍵點選事件簡單介紹事件
- List 元件簡單示例及其onItemsDisclosure點選事件元件事件
- 下拉選單onchang事件怎麼呼叫不了action?事件
- 選中select下拉選單第一項不觸發事件事件
- 事件 滑鼠事件 表單事件 from表單事件
- java關於事件的簡單介紹Java事件
- React table 表單裡的內容點選事件React事件
- 表單元素文字內容選中事件onselect事件
- java從資料庫讀取選單,遞迴生成選單樹Java資料庫遞迴
- c# datagridview選中當前單元格及單元格單擊事件C#View事件
- 簡單實現UILabel之協議類點選事件UI協議事件
- pixi.js 簡單互動事件(點選、縮放、平移)JS事件
- jQuery 事件(二) 表單事件jQuery事件
- Java實現多級選單(遞迴)Java遞迴
- 簡單事件事件
- 用JS點選事件做一個簡單的計算器JS事件
- Swift UITableView巢狀UICollectionView點選事件衝突(點選事件穿透)SwiftUIView巢狀事件穿透
- 點選事件的委派事件
- 禁止滑鼠點選事件事件
- Java-GUI程式設計之選單元件JavaGUI程式設計元件
- 使用 Java 在Excel中建立下拉選單JavaExcel
- databinding的點選事件事件
- RecyclerView中item點選事件View事件
- css禁用滑鼠點選事件CSS事件
- 表單事件與鍵盤事件學習事件
- Android觸控事件(續)——點選長按事件Android事件
- MFC 對話方塊中動態建立N級選單以及響應事件事件
- javascript對點選事件和拖動事件的區分JavaScript事件
- tabbar凸起點選事件處理tabBar事件
- echarts 工具條點選事件控制Echarts事件
- MxDraw雲圖點選事件教程事件
- DataBinding中xml 點選事件XML事件
- R::shiny 點選事件-Demo事件
- 單選多選按鈕
- 下拉選單
- 選單(轉)