⑴ 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我