導航:首頁 > 編程語言 > javaswing彈出式菜單

javaswing彈出式菜單

發布時間:2023-03-19 22:09:22

java如何在面板中點擊按鈕後彈出對話框

一、對IE瀏覽器產生破壞的網頁病毒:

(一).默認主頁被修改

1.破壞特性:默認主頁被自動改為某網站的網址。

2.表現形式:瀏覽器的默現饕潮蛔遠

⑵ java里的swing是什麼意思,為什麼取名swing

軟體包 javax.swing
提棗派嫌供一組「輕量級」(全部是 Java 語言)組件,盡量讓這些組件在所有平台上的工作方式都相同。

介面摘要
Action Action 介面提供 ActionListener 介面的一個有用擴展,以便若干控制項訪問相同的功能。
BoundedRangeModel 定義由 Slider 和 ProgressBar 這類組羨型件使用的數據模型。
ButtonModel 按鈕的狀態模型。
CellEditor 此介面定義任何通用編輯器應該能夠實現的方法。
ComboBoxEditor 用於 JComboBox 組件的編輯器組件。
ComboBoxModel 用於組合框的數據模型。
DesktopManager DesktopManager 對象由 DesktopPane 對象所擁有。
Icon 一個小的固定大小圖片,通常用於裝飾組件。
JComboBox.KeySelectionManager 定義 KeySelectionManager 的介面。
ListCellRenderer 標識可用作「橡皮圖章」以繪制 JList 中單元格的組件。
ListModel 此介面定義方法組件(如 JList),這些組件用於獲取列表中每個單元格的值以及列表的長度。
ListSelectionModel 此介面表示任何組件的當前選擇狀態,該組件顯示一個具有穩定索引的值列表。
MenuElement 可以放入菜單中的所有組件都應該實現此介面。
MutableComboBoxModel ComboBoxModel 的可變版本
Renderer 為負責「呈現」(顯示)值的對象定義需求。
RootPaneContainer 此介面由具有單個 JRootPane 子組件的組件來實現,這些子組件包括:JDialog、JFrame、JWindow、JApplet、JInternalFrame。
Scrollable 為類似 JScrollPane 的滾動容器提供信息的介面。
ScrollPaneConstants 與 JScrollPane 組件一起使用的常數。
SingleSelectionModel 最多支持一個索引選項的模型。
SpinnerModel 對象值的潛在無界序列的模型。
SwingConstants 通常用於在屏幕上定位或定向組件的常量的集合。
UIDefaults.ActiveValue 此類使用戶能夠在默認表中存儲項,該默認表在每次使用某個 getXXX(key) 方法進行查找時創建。
UIDefaults.LazyValue 此類使用戶能夠在默認表中存儲項,該默認表只有在第一次使用某個 getXXX(key) 方法進行查找時才創建。
WindowConstants 用於控制窗口關閉操作的常量。

類摘要
AbstractAction 此類提供 JFC Action 介面的默認實現。
AbstractButton 定義按鈕和菜單項的一般行為。
AbstractCellEditor
AbstractListModel 該數據模型的抽象定義提供一個帶內容的 List。
AbstractSpinnerModel 此類提供 SpinnerModel 介面的 ChangeListener 部分,該凳手介面應該適用於最具體的 SpinnerModel 實現。
ActionMap ActionMap 提供從 Object(稱為鍵 或 Action 名)到 Action 的映射。
BorderFactory 提供標准 Border 對象的工廠類。
Box 使用 BoxLayout 對象作為其布局管理器的一個輕量級容器。
Box.Filler 參與布局但沒有視圖的輕量級組件的實現。
BoxLayout 允許縱向或橫向布置多個組件的布局管理器。
ButtonGroup 此類用於為一組按鈕創建一個多斥(multiple-exclusion)作用域。
CellRendererPane 此類被插入在單元格渲染器與使用它們的組件之間。
ComponentInputMap ComponentInputMap 是與特定 JComponent 相關聯的 InputMap。
DebugGraphics 支持圖形調試的圖形子類。
DefaultBoundedRangeModel BoundedRangeModel 的一般實現。
DefaultButtonModel Button 組件的數據模型的默認實現。
DefaultCellEditor 表單元格和樹單元格的默認編輯器。
DefaultComboBoxModel 組合框的默認模型。
DefaultDesktopManager 此類是 DesktopManager 的實現。
DefaultFocusManager 此類已被廢棄,用 1.4 focus API 取代。
DefaultListCellRenderer 呈現列表中的一個項。
DefaultListCellRenderer.UIResource 實現 UIResource 的 DefaultListCellRenderer 的子類。
DefaultListModel 此類以鬆散方式實現 java.util.Vector API,它實現 1.1.x 版本的 java.util.Vector,沒有 collection 類支持,並且在發生更改時通知 ListDataListener。
DefaultListSelectionModel 列表選擇的默認數據模型。
DefaultSingleSelectionModel SingleSelectionModel 的一般實現。
FocusManager 從 1.4 focus API 開始,此類已被廢棄。
GrayFilter 一個圖像過濾器,它通過將圖像轉換成灰度級圖像並增亮圖像中的像素來「禁用」圖像。
ImageIcon 一個 Icon 介面的實現,它根據 Image 繪制 Icon。
InputMap InputMap 提供輸入事件(目前只使用 KeyStroke)和 Object 之間的綁定。
InputVerifier 此類的用途是通過帶文本欄位的 GUI 幫助客戶端支持流暢的焦點導航。
該 FocusTraversalPolicy 可以有選擇地提供確定 JInternalFrame 初始 Component 的演算法。
JApplet java.applet.Applet 的擴展版,它添加了對 JFC/Swing 組件架構的支持。
JButton "push" 按鈕的實現。
JCheckBox 復選框的實現,復選框是一個可以被選定和取消選定的項,它將其狀態顯示給用戶。
JCheckBoxMenuItem 可以被選定或取消選定的菜單項。
JColorChooser JColorChooser 提供一個用於允許用戶操作和選擇顏色的控制器窗格。
JComboBox 將按鈕或可編輯欄位與下拉列表組合的組件。
JComponent 該類是除頂層容器外所有 Swing 組件的基類。
JDesktopPane 用於創建多文檔界面或虛擬桌面的容器。
JDialog 創建對話框窗口的主要類。
JEditorPane 可編輯各種內容的文本組件。
JFileChooser JFileChooser 為用戶選擇文件提供了一種簡單的機制。
JFormattedTextField JFormattedTextField 擴展了 JTextField,添加了對格式化任意值的支持,以及一旦用戶編輯了文本就檢索特定對象的支持。
JFormattedTextField.AbstractFormatter JFormattedTextField 所使用的 AbstractFormatter 實例,用於處理從 Object 到 String 和從 String 到 Object 的轉換。
JFormattedTextField.AbstractFormatterFactory JFormattedTextField 使用的 AbstractFormatterFactory 實例,用來獲得 AbstractFormatter 實例,依次使用該實例格式化各個值。
JFrame java.awt.Frame 的擴展版本,該版本添加了對 JFC/Swing 組件架構的支持。
JInternalFrame 提供很多本機窗體功能的輕量級對象,這些功能包括拖動、關閉、變成圖標、調整大小、標題顯示和支持菜單欄。
JInternalFrame.JDesktopIcon 此組件表示 JInternalFrame 的圖標化版本。
JLabel 用於短文本字元串或圖像或二者的顯示區。
JLayeredPane JLayeredPane 為 JFC/Swing 容器添加了深度,允許組件在需要時互相重疊。
JList 該組件允許用戶從列表中選擇一個或多個對象。
JMenu 菜單的該實現是一個包含 JMenuItem 的彈出窗口,用戶選擇 JMenuBar 上的項時會顯示該 JMenuItem。
JMenuBar 菜單欄的實現。
JMenuItem 菜單中的項的實現。
JOptionPane JOptionPane 有助於方便地彈出要求用戶提供值或向其發出通知的標准對話框。
JPanel JPanel 是一般輕量級容器。
JPasswordField JPasswordField 是一個輕量級組件,允許編輯一個單行文本,其視圖指示鍵入內容,但不顯示原始字元。
JPopupMenu 彈出菜單的實現,彈出菜單是一個可彈出並顯示一系列選項的小窗口。
JPopupMenu.Separator 彈出與菜單有關的分隔符。
JProgressBar 默認顯示有界區間整數值的組件。
JRadioButton 實現一個單選按鈕,此按鈕項可被選擇或取消選擇,並可為用戶顯示其狀態。
JRadioButtonMenuItem 一個單選按鈕菜單項的實現。
JRootPane 該輕量級容器由 JFrame、JDialog、JWindow、JApplet 和 JInternalFrame 在後台使用。
JScrollBar 滾動條的實現。
JScrollPane 提供輕量級組件的 scrollable 視圖。
JSeparator JSeparator 為實現分隔線提供了一個通用組件 - 通常用作菜單項之間的分隔符,以便將菜單項分成幾個邏輯組。
JSlider 一個讓用戶以圖形方式在有界區間內通過移動滑塊來選擇值的組件。
JSpinner 讓用戶從一個有序序列中選擇一個數字或者一個對象值的單行輸入欄位。
JSpinner.DateEditor 其模型為 SpinnerDateModel 的 JSpinner 編輯器。
JSpinner.DefaultEditor 一個針對非常特殊編輯器的簡單基類,該類在 JFormattedTextField 中顯示模型的當前值的只讀視圖。
JSpinner.ListEditor 其模型為 SpinnerListModel 的 JSpinner 編輯器。
JSpinner.NumberEditor 其模型為 SpinnerNumberModel 的 JSpinner 編輯器。
JSplitPane JSplitPane 用於分隔兩個(只能兩個)Component。
JTabbedPane 一個組件,它允許用戶通過單擊具有給定標題和/或圖標的選項卡,在一組組件之間進行切換。
JTable JTable 用來顯示和編輯規則的二維單元表。
JTextArea JTextArea 是一個顯示純文本的多行區域。
JTextField JTextField 是一個輕量級組件,它允許編輯單行文本。
JTextPane 可以用以圖形方式表示的屬性來標記的文本組件。
JToggleButton 具有兩個狀態的(two-state)按鈕的實現。
JToggleButton.ToggleButtonModel ToggleButton 模型 警告:此類的已序列化對象與以後的 Swing 版本不兼容。
JToolBar JToolBar 提供了一個用來顯示常用的 Action 或控制項的組件。
JToolBar.Separator 一個特定於工具欄的分隔符。
JToolTip 用來顯示 Component 的「提示」。
JTree 將分層數據集顯示為輪廓的控制項。
JTree.DynamicUtilTreeNode DynamicUtilTreeNode 可以包裝 vectors/hashtables/arrays/strings 並根據需要創建適當的子樹節點。
JTree.EmptySelectionModel EmptySelectionModel 是一個不允許選擇任何內容的 TreeSelectionModel。
JViewport 用於查看基礎信息的「視口」或「觀察孔」。
JWindow JWindow 是一個容器,可以顯示在用戶桌面上的任何位置。
KeyStroke 表示鍵盤或等效輸入設置上的鍵操作的 KeyStroke。
LayoutFocusTraversalPolicy 根據 Component 的大小、位置和方向對其排序的 SortingFocusTraversalPolicy。
LookAndFeel 從可插入外觀組件的角度全面展現外觀的特性。
MenuSelectionManager MenuSelectionManager 擁有菜單層次結構中的選項。
OverlayLayout 要在彼此頂部安排組件的布局管理器。
Popup Popup 用於向用戶顯示 Component,它通常位於特定包含層次結構中所有其他 Component 的頂部。
PopupFactory 顧名思義,PopupFactory 用於獲取 Popup 的實例。
ProgressMonitor 監視某個操作的進度的類。
ProgressMonitorInputStream 監視讀取某些 InputStream 的進度。
RepaintManager 此類管理重繪請求,以最大限度地降低重繪次數。
ScrollPaneLayout JScrollPane 使用的布局管理器。
ScrollPaneLayout.UIResource ScrollPaneLayout 的 UI 資源版本。
SizeRequirements 為方便布局管理器,計算組件的有關大小和位置信息。
SizeSequence 一個 SizeSequence 對象,它有效地維護一個包含大小和相應位置的順序列表。
SortingFocusTraversalPolicy 通過對焦點遍歷循環的 Components 按給定 Comparator 排序確定遍歷順序的 FocusTraversalPolicy。
SpinnerDateModel Date 序列的一個 SpinnerModel。
SpinnerListModel 其值由數組或 List 定義的 SpinnerModel 的簡單實現。
SpinnerNumberModel 用於數字序列的 SpinnerModel。
Spring 該 Spring 類的實例將存儲以下三個表示其行為特徵的屬性:minimum、preferred 和 maximum 值。
SpringLayout SpringLayout 根據一組約束布置其相關容器的子組件。
SpringLayout.Constraints Constraints 對象將管理組件大小和位置更改方式的約束存儲在 SpringLayout 控制的容器中。
SwingUtilities Swing 實用方法的集合。
Timer 在指定延遲之後激發一個或多個操作事件。
ToolTipManager 管理系統中的所有 ToolTips。
TransferHandler 此類用於處理往返於 Swing 組件的 Transferable 的傳輸。
UIDefaults Swing 組件的默認值表。
UIDefaults.LazyInputMap LazyInputMap 將在其 createValue 方法中創建一個 InputMap。
UIDefaults.ProxyLazyValue 此類提供一個可用於延遲載入要創建實例類的 LazyValue 的實現。
UIManager 此類跟蹤當前的外觀及其默認設置。
UIManager.LookAndFeelInfo 為了配置菜單或為了初始應用程序設置而提供關於已安裝的 LookAndFeel 的少量信息。
ViewportLayout JViewport 的默認布局管理器。

枚舉摘要
JTable.PrintMode 用於列印 JTable 的列印模式。

異常摘要
指示在用戶系統上不存在請求的外觀管理類的異常。

軟體包 javax.swing 的描述

提供一組「輕量級」(全部是 Java 語言)組件,盡量讓這些組件在所有平台上的工作方式都相同。有關使用這些組件的程序員指南,請參閱 Creating a GUI with JFC/Swing,該內容在《The Java Tutorial》的結尾處。有關其他參考資料,請參閱相關文檔。

⑶ java swing事件處理模型包括幾部分,分別含義和相互作用

9部分,分抄別是
標簽 (JLabel)標簽 (JLabel)通常是用來標識另外一個組件的含義。以在標簽上顯示文字、圖象或是文字圖象的組合。
2.密碼框 (JPasswordField)
密碼框實際上是一種特殊類型的文本框,用戶可以向其中輸入文本並加以編輯。
3.菜單
菜單也是一種常用的GUI組件,菜單採用的是一種層次結構,最頂層是菜單欄(JMenuBar);
4.彈出式菜單 彈出式菜單(JPopupMenu)是一種特殊的菜單,和普通菜單的區別在於其不固定在菜單欄中,而是可以四處浮動的。
5.工具條 有些菜單選項的使用頻率較高,每次使用都要打開菜單,效率較低。為此,可以在工具條(JToolBar)中提供與這些菜單選項相對應快捷按鈕,以提高用戶的效率。工具條中通常是一些帶有圖標的按鈕,當然也可以是其它類型的GUI組件
6.對話框
對話框是用戶和應用程序進行交互(對話)的一個橋梁:對話框可以用於收集用戶的輸入數據傳遞給應用程序,或是顯示應用程序的運行信息給用戶。
7.表格 表格(JTable)也是一種常用的GUI組件,常用來顯示大量的數據。
8.樹形控制項
9.JScrollbar 滾動條

⑷ JWindow彈出式菜單問題

//: JWin.java 能正常響應:

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPopupMenu;
import javax.swing.JWindow;
public class JWin {
public static void main(String[] args) {
JWindow w = new JWindow();
w.setAlwaysOnTop(true);
w.setLayout(new FlowLayout(FlowLayout.LEFT));
final JPopupMenu pm = new JPopupMenu();
pm.add(" a ");
pm.add(" b ");
pm.add(" c ");
JButton b = new JButton("exit"大遲激);
w.add(b);
JLabel l = new JLabel("<html><br/>彈出式菜單<br/><br/>");
l.setOpaque(true);
l.setBackground(Color.red);
w.add(l);

// w.getContentPane().addMouseListener(new MouseListener(){
// public void mouseClicked(MouseEvent e) {}
// public void mouseEntered(MouseEvent e) {}
// public void mouseExited(MouseEvent e) {}
// public void mousePressed(MouseEvent e) {if(e.isPopupTrigger())pop(e);}
// public void mouseReleased(MouseEvent e) {if(e.isPopupTrigger())pop(e);}
// void pop(MouseEvent e){
/滾襪/ pm.show((JComponent)e.getSource(),e.getX(),e.getY());
// }
/旦沖/ });

l.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {if(e.isPopupTrigger())pop(e);}
public void mouseReleased(MouseEvent e) {if(e.isPopupTrigger())pop(e);}
void pop(MouseEvent e){
pm.show((JComponent)e.getSource(),e.getX(),e.getY());
}
});

b.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {System.exit(0);}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
});

w.setSize(200,100);
w.setVisible(true);
}
}

⑸ 如何在java中實現右鍵彈出式菜單

public void mouseReleased(MouseEvent e)
{
if(e.getButton() == MouseEvent.BUTTON3)//點擊右鍵
popUpMenu.show(editMenu, e.getX(), e.getY());
//popUpMenu是一個JPopupMenu editMenu是一個JMenu
//e.getX(), e.getY()是獲得滑鼠點擊的坐標 在點擊的地方彈出一個 editMenu,editMenu中的 內容自己添加
}
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1)//點擊滑鼠左鍵
popUpMenu.setVisible(false);//彈出菜單消失
}

⑹ JAVA彈出式菜單JPopupMenu怎麼改才會正確的出

public class Demo {

JMenu men;
JPopupMenu pop;
JMenuItem pen, close, exit;
JRadioButtonMenuItem , past;
ButtonGroup button;
JFrame frame;

public Demo() {
pop = new JPopupMenu();
button = new ButtonGroup();
men = new JMenu("文件");
pen = new JMenuItem("打開");
close = new JMenuItem("關閉");
men.add(pen);
men.add(close);
pop.add(men);
pop.addSeparator();
= new JRadioButtonMenuItem("復制");
past = new JRadioButtonMenuItem("黏貼");
button.add();
button.add(past);
pop.add();
pop.add(past);
pop.addSeparator();
exit = new JMenuItem("退出");
pop.add(exit);
pop.setVisible(true);
JFrame frame = new JFrame("JMpopupMenu");
frame.addMouseListener(new MouseAdapter() {

@Override
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
pop.show(null, e.getPoint().x, e.getPoint().y);
}
}

@Override
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
pop.show(null, e.getPoint().x, e.getPoint().y);
}
}
});
frame.setSize(100, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

public static void main(String[] args) {
new Demo();
}
}

⑺ JAVA編程思想一共有幾章

一共 17 章
強烈建議你去買這本書!雖然電子文檔很多,網路一下到處都是,但是不很方便!這本書看了真的思想都變了!!

第1章 對象入門
1.1 抽象的進步
1.2 對象的介面
1.3 實現方案的隱藏
1.4 方案的重復使用
1.5 繼承:重新使用介面
1.5.1 改善基礎類
1.5.2 等價和類似關系
1.6 多形對象的互換使用
1.6.1 動態綁定
1.6.2 抽象的基礎類和介面
1.7 對象的創建和存在時間
1.7.1 集合與繼承器
1.7.2 單根結構
1.7.3 集合庫與方便使用集合
1.7.4 清除時的困境:由誰負責清除?
1.8 違例控制:解決錯誤
1.9 多線程
1.10 永久性
1.11 Java和網際網路
1.11.1 什麼是Web?
1.11.2 客戶端編程
1.11.3 伺服器端編程
1.11.4 一個獨立的領域:應用程序
1.12 分析和設計
1.12.1 不要迷失
1.12.2 階段0:擬出一個計劃
1.12.3 階段1:要製作什麼?
1.12.4 階段2:開始構建?
1.12.5 階段3:正式創建
1.12.6 階段4:校訂
1.12.7 計劃的回報
1.13 Java還是C++?

第2章 一切都是對象
2.1 用句柄操縱對象
2.2 必須創建所有對象
2.2.1 保存在什麼地方
2.2.2 特殊情況:主類型
2.2.3 Java中的數組
2.3 絕對不要清除對象
2.3.1 作用域
2.3.2 對象的作用域
2.4 新建數據類型:類
2.4.1 欄位和方法
2.5 方法、自變數和返回值
2.5.1 自變數列表
2.6 構建Java程序
2.6.1 名字的可見性
2.6.2 使用其他組件
2.6.3 static關鍵字
2.7 我們的第一個Java程序
2.8 注釋和嵌入文檔
2.8.1 注釋文檔
2.8.2 具體語法
2.8.3 嵌入HTML
2.8.4 @see:引用其他類
2.8.5 類文檔標記
2.8.6 變數文檔標記
2.8.7 方法文檔標記
2.8.8 文檔示例
2.9 編碼樣式
2.10 總結
2.11 練習

第3章 控製程序流程
3.1 使用Java運算符
3.1.1 優先順序
3.1.2 賦值
3.1.3 算術運算符
3.1.4 自動遞增和遞減
3.1.5 關系運算符
3.1.6 邏輯運算符
3.1.7 按位運算符
3.1.8 移位運算符
3.1.9 三元if-else運算符
3.1.10 逗號運算符
3.1.11 字串運算符+
3.1.12 運算符常規操作規則
3.1.13 造型運算符
3.1.14 Java沒有「sizeof」
3.1.15 復習計算順序
3.1.16 運算符總結
3.2 執行控制
3.2.1 真和假
3.2.2 if-else
3.2.3 反復
3.2.4 do-while
3.2.5 for
3.2.6 中斷和繼續
3.2.7 切換
3.3 總結
3.4 練習

第4章 初始化和清除
4.1 由構建器保證初始化
4.2 方法過載
4.2.1 區分過載方法
4.2.2 主類型的過載
4.2.3 返回值過載
4.2.4 默認構建器
4.2.5 this關鍵字
4.3 清除:收尾和垃圾收集
4.3.1 finalize()用途何在
4.3.2 必須執行清除
4.4 成員初始化
4.4.1 規定初始化
4.4.2 構建器初始化
4.5 數組初始化
4.5.1 多維數組
4.6 總結
4.7 練習

第5章 隱藏實施過程
5.1 包:庫單元
5.1.1 創建獨一無二的包名
5.1.2 自定義工具庫
5.1.3 利用導入改變行為
5.1.4 包的停用
5.2 Java訪問指示符
5.2.1 「友好的」
5.2.2 public:介面訪問
5.2.3 private:不能接觸
5.2.4 protected:「友好的一種」
5.3 介面與實現
5.4 類訪問
5.5 總結
5.6 練習

第6章 類再生
6.1 合成的語法
6.2 繼承的語法
6.2.1 初始化基礎類
6.3 合成與繼承的結合
6.3.1 確保正確的清除
6.3.2 名字的隱藏
6.4 到底選擇合成還是繼承
6.5 protected
6.6 遞增開發
6.7 上溯造型
6.7.1 何謂「上溯造型」?
6.8 final關鍵字
6.8.1 final數據
6.8.2 final方法
6.8.3 final類
6.8.4 final的注意事項
6.9 初始化和類裝載
6.9.1 繼承初始化
6.10 總結
6.11 練習

第7章 多形性
7.1 上溯造型
7.1.1 為什麼要上溯造型
7.2 深入理解
7.2.1 方法調用的綁定
7.2.2 產生正確的行為
7.2.3 擴展性
7.3 覆蓋與過載
7.4 抽象類和方法
7.5 介面
7.5.1 Java的「多重繼承」
7.5.2 通過繼承擴展介面
7.5.3 常數分組
7.5.4 初始化介面中的欄位
7.6 內部類
7.6.1 內部類和上溯造型
7.6.2 方法和作用域中的內部類
7.6.3 鏈接到外部類
7.6.4 static內部類
7.6.5 引用外部類對象
7.6.6 從內部類繼承
7.6.7 內部類可以覆蓋嗎?
7.6.8 內部類標識符
7.6.9 為什麼要用內部類:控制框架
7.7 構建器和多形性
7.7.1 構建器的調用順序
7.7.2 繼承和finalize()
7.7.3 構建器內部的多形性方法的行為
7.8 通過繼承進行設計
7.8.1 純繼承與擴展
7.8.2 下溯造型與運行期類型標識
7.9 總結
7.10 練習

第8章 對象的容納
8.1 數組
8.1.1 數組和第一類對象
8.1.2 數組的返回
8.2 集合
8.2.1 缺點:類型未知
8.3 枚舉器(反復器)
8.4 集合的類型
8.4.1 Vector
8.4.2 BitSet
8.4.3 Stack
8.4.4 Hashtable
8.4.5 再論枚舉器
8.5 排序
8.6 通用集合庫
8.7 新集合
8.7.1 使用Collections
8.7.2 使用Lists
8.7.3 使用Sets
8.7.4 使用Maps
8.7.5 決定實施方案
8.7.6 未支持的操作
8.7.7 排序和搜索
8.7.8 實用工具
8.8 總結
8.9 練習

第9章 違例差錯控制
9.1 基本違例
9.1.1 違例自變數
9.2 違例的捕獲
9.2.1 try塊
9.2.2 違例控制器
9.2.3 違例規范
9.2.4 捕獲所有違例
9.2.5 重新「擲」出違例
9.3 標准Java違例
9.3.1 RuntimeException的特殊情況
9.4 創建自己的違例
9.5 違例的限制
9.6 用finally清除
9.6.1 用finally做什麼
9.6.2 缺點:丟失的違例
9.7 構建器
9.8 違例匹配
9.8.1 違例准則
9.9 總結
9.10 練習

第10章 Java IO系統
10.1 輸入和輸出
10.1.1 InputStream的類型
10.1.2 OutputStream的類型
10.2 增添屬性和有用的介面
10.2.1 通過FilterInputStream從InputStream里讀入數據
10.2.2 通過FilterOutputStream向OutputStream里寫入數據
10.3 本身的缺陷:RandomAccessFile
10.4 File類
10.4.1 目錄列表器
10.4.2 檢查與創建目錄
10.5 IO流的典型應用
10.5.1 輸入流
10.5.2 輸出流
10.5.3 快捷文件處理
10.5.4 從標准輸入中讀取數據
10.5.5 管道數據流
10.6 StreamTokenizer
10.6.1 StringTokenizer
10.7 Java 1.1的IO流
10.7.1 數據的發起與接收
10.7.2 修改數據流的行為
10.7.3 未改變的類
10.7.4 一個例子
10.7.5 重定向標准IO
10.8 壓縮
10.8.1 用GZIP進行簡單壓縮
10.8.2 用Zip進行多文件保存
10.8.3 Java歸檔(jar)實用程序
10.9 對象串聯
10.9.1 尋找類
10.9.2 序列化的控制
10.9.3 利用「持久性」
10.10 總結
10.11 練習

第11章 運行期類型鑒定
11.1 對RTTI的需要
11.1.1 Class對象
11.1.2 造型前的檢查
11.2 RTTI語法
11.3 反射:運行期類信息
11.3.1 一個類方法提取器
11.4 總結
11.5 練習

第12章 傳遞和返回對象
12.1 傳遞句柄
12.1.1 別名問題
12.2 製作本地副本
12.2.1 按值傳遞
12.2.2 克隆對象
12.2.3 使類具有克隆能力
12.2.4 成功的克隆
12.2.5 Object.clone()的效果
12.2.6 克隆合成對象
12.2.7 用Vector進行深層復制
12.2.8 通過序列化進行深層復制
12.2.9 使克隆具有更大的深度
12.2.10 為什麼有這個奇怪的設計
12.3 克隆的控制
12.3.1 副本構建器
12.4 只讀類
12.4.1 創建只讀類
12.4.2 「一成不變」的弊端
12.4.3 不變字串
12.4.4 String和StringBuffer類
12.4.5 字串的特殊性
12.5 總結
12.6 練習

第13章 創建窗口和程序片
13.1 為何要用AWT?
13.2 基本程序片
13.2.1 程序片的測試
13.2.2 一個更圖形化的例子
13.2.3 框架方法的演示
13.3 製作按鈕
13.4 捕獲事件
13.5 文本欄位
13.6 文本區域
13.7 標簽
13.8 復選框
13.9 單選鈕
13.10 下拉列表
13.11 列表框
13.11.1 handleEvent()
13.12 布局的控制
13.12.1 FlowLayout
13.12.2 BorderLayout
13.12.3 GridLayout
13.12.4 CardLayout
13.12.5 GridBagLayout
13.13 action的替用品
13.14 程序片的局限
13.14.1 程序片的優點
13.15 視窗化應用
13.15.1 菜單
13.15.2 對話框
13.16 新型AWT
13.16.1 新的事件模型
13.16.2 事件和接收者類型
13.16.3 用Java 1.1 AWT製作窗口和程序片
13.16.4 再探早期示例
13.16.5 動態綁定事件
13.16.6 將商業邏輯與UI邏輯區分開
13.16.7 推薦編碼方法
13.17 Java 1.1 UI API
13.17.1 桌面顏色
13.17.2 列印
13.17.3 剪貼板
13.18 可視編程和Beans
13.18.1 什麼是Bean
13.18.2 用Introspector提取BeanInfo
13.18.3 一個更復雜的Bean
13.18.4 Bean的封裝
13.18.5 更復雜的Bean支持
13.18.6 Bean更多的知識
13.19 Swing入門
13.19.1 Swing有哪些優點
13.19.2 方便的轉換
13.19.3 顯示框架
13.19.4 工具提示
13.19.5 邊框
13.19.6 按鈕
13.19.7 按鈕組
13.19.8 圖標
13.19.9 菜單
13.19.10 彈出式菜單
13.19.11 列表框和組合框
13.19.12 滑桿和進度指示條
13.19.13 樹
13.19.14 表格
13.19.15 卡片式對話框
13.19.16 Swing消息框
13.19.17 Swing更多的知識
13.20 總結
13.21 練習

第14章 多線程
14.1 反應靈敏的用戶界面
14.1.1 從線程繼承
14.1.2 針對用戶界面的多線程
14.1.3 用主類合並線程
14.1.4 製作多個線程
14.1.5 Daemon線程
14.2 共享有限的資源
14.2.1 資源訪問的錯誤方法
14.2.2 Java如何共享資源
14.2.3 回顧Java Beans
14.3 堵塞
14.3.1 為何會堵塞
14.3.2 死鎖
14.4 優先順序
14.4.1 線程組
14.5 回顧runnable
14.5.1 過多的線程
14.6 總結
14.7 練習

第15章 網路編程
15.1 機器的標識
15.1.1 伺服器和客戶機
15.1.2 埠:機器內獨一無二的場所
15.2 套接字
15.2.1 一個簡單的伺服器和客戶機程序
15.3 服務多個客戶
15.4 數據報
15.5 一個Web應用
15.5.1 伺服器應用
15.5.2 NameSender程序片
15.5.3 15.5.3 要注意的問題
15.6 Java與CGI的溝通
15.6.1 CGI數據的編碼
15.6.2 程序片
15.6.3 用C++寫的CGI程序
15.6.4 POST的概念
15.7 用JDBC連接資料庫
15.7.1 獲得學習示例
15.7.2 查找程序的GUI版本
15.7.3 JDBC API為何如何復雜
15.8 遠程方法
15.8.1 遠程介面概念
15.8.2 遠程介面的實施
15.8.3 創建根與干
15.8.4 使用遠程對象
15.8.5 RMI的替選方案
15.9 總結
15.10 練習

第16章 設計範式
16.1 範式的概念
16.1.1 單子
16.1.2 範式分類
16.2 觀察器範式
16.3 模擬垃圾回收站
16.4 改進設計
16.4.1 「製作更多的對象」
16.4.2 用於原型創建的一個範式
16.5 抽象的應用
16.6 多重派遣
16.6.1 實現雙重派遣
16.7 訪問器範式
16.8 RTTI有害嗎
16.9 總結
16.10 練習

第17章 項目
17.1 文字處理
17.1.1 提取代碼列表
17.1.2 檢查大小寫樣式
17.2 方法查找工具
17.3 復雜性理論
17.4 總結
17.5 練習

⑻ java文本框,點擊右鍵,產生右鍵事件,出現彈出式菜單,三個菜單選項(復制,粘貼,剪切)

在java.awt包中有兩個類可以用於彈出式菜單,PopupMenu(彈出式菜單),MenuItem(菜單項),
在 java.awt.event 包的MouseListener與MouseEvent 可用於滑鼠事件
下面是代碼(是從別的地方借用過來的,刪除了一些與此問題無關的內容):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class PopupMenuDemo extends JFrame implements ActionListener
{
JButton btnTest=new JButton("Test");
JTextArea textArea=new JTextArea();
PopupMenu pMenu=new PopupMenu(); //創建彈出式菜單,下面三項是菜單項
MenuItem mItemCopy=new MenuItem("復制");
MenuItem mItemPaste=new MenuItem("粘貼");
MenuItem mItemCut=new MenuItem("剪切");
MouseAdapter mouseAdapter=new MouseAdapter()//監聽滑鼠事件
{
public void mouseClicked(MouseEvent event)
{
if(event.getButton()==MouseEvent.BUTTON3)//只響應滑鼠右鍵單擊事件
{
pMenu.show(textArea,event.getX(),event.getY());//在滑鼠位置顯示彈出式菜單
}
}
};
ActionListener menuAction=new ActionListener()//響應單擊菜單項的事件,只是示例,
{//具體內容可自己編寫
public void actionPerformed(ActionEvent e)
{
MenuItem item=(MenuItem)e.getSource();
if(item==mItemCopy) //單擊了「復制」菜單項
{
JOptionPane.showMessageDialog(null,"復制");
}
else if(item==mItemPaste) //「粘貼」菜單項
{
JOptionPane.showMessageDialog(null,"粘貼");

}
else
{
JOptionPane.showMessageDialog(null,"剪切"); //「剪切」菜單項
}
}
};
public PopupMenuDemo()
{
setTitle("Test");
setSize(300,300);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(btnTest,BorderLayout.NORTH);
add(textArea,BorderLayout.CENTER);
textArea.add(pMenu); //彈出式菜單加入到文本框中,否則不能顯示
textArea.addMouseListener(mouseAdapter); //文本框加入滑鼠監聽器
pMenu.add(mItemCopy); //菜單項的單擊事件監聽器
mItemCopy.addActionListener(menuAction);
pMenu.add(mItemPaste);
mItemPaste.addActionListener(menuAction);
pMenu.add(mItemCut);
mItemCut.addActionListener(menuAction);

btnTest.addActionListener(this);
}
public static void main(String... args)
{
new PopupMenuDemo().setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null,"測試功能");
}

}

⑼ java中彈出式菜單怎麼用show方法顯示 import java.awt.*; import javax.swing.*; public class S{ public s

代碼如下:為窗體增加滑鼠監聽,實現public void mouseReleased(MouseEvent e) {
if ((e.getModifiers()&MouseEvent.BUTTON3_MASK)!=0&&
!e.isControlDown()&&!e.isShiftDown()) {
popup.show(jFrame, e.getX(),e.getY());
}

});
實現顯示彈出菜單
為菜單增添時間監聽,實現其功能。

完整代碼如下:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.Popup;

public class TestPopup {
JPopupMenu popup;
JFrame jFrame;
public TestPopup(){
jFrame=new JFrame("測試");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
jFrame.setBounds(300,200,400,500);
popup=new JPopupMenu();
JMenuItem mItem=new JMenuItem("復制");
JMenuItem mItem2=new JMenuItem("粘貼");
JMenuItem mItem3=new JMenuItem("剪切");
mItem.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("復制:菜單事件處理");

}

});
mItem2.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("粘貼:菜單事件處理");

}
});
mItem3.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("剪切:菜單事件處理");

}
});
popup.add(mItem);
popup.add(mItem2);
popup.add(mItem3);
//jFrame.add(popup);
jFrame.addMouseListener(new MouseListener(){

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mousePressed(MouseEvent e) {

}

@Override
public void mouseReleased(MouseEvent e) {
if ((e.getModifiers()&MouseEvent.BUTTON3_MASK)!=0&&
!e.isControlDown()&&!e.isShiftDown()) {
popup.show(jFrame, e.getX(),e.getY());
}

}

});
}
public static void main(String[] args) {
new TestPopup();

}

}
有什麼疑問可以hi我

閱讀全文

與javaswing彈出式菜單相關的資料

熱點內容
專題學習網站源碼 瀏覽:163
jsphead什麼 瀏覽:88
gps串口數據怎麼發送 瀏覽:968
win10文件主頁共享查看 瀏覽:411
中國聯通有哪些app是免流的 瀏覽:176
邊做邊保存的文件找不到了 瀏覽:858
win10照片應用文件夾名稱 瀏覽:966
編程如何解決資金的原子性 瀏覽:638
如何製作廣角鏡頭矯正文件 瀏覽:513
在網頁開發中應該選用哪個資料庫 瀏覽:742
iphone5移動卡貼 瀏覽:990
電腦文件的格式 瀏覽:127
extjs的xtype 瀏覽:959
suse11iso文件要u盤安裝 瀏覽:153
如何將報表統計數據轉化為圖形 瀏覽:444
如何寄快遞材料文件 瀏覽:265
java構造方法private 瀏覽:475
手機文件找回恢復 瀏覽:516
word怎麼把u盤里的文件拔掉 瀏覽:976
港版蘋果用的插排 瀏覽:1000

友情鏈接