import javax.swing.*; import java.awt.Toolkit; import java.awt.event.*; import java.awt.*; /** * Title:JButton操作 * Description:演示按钮的事件响应和按钮的实效 * @author fan * */ public class MyButtonDemo extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; /** * 定义三个按钮 */ private JButton b1, b2, b3; /** * 定义ImageIcon对象用于图标对象 */ private ImageIcon rightImage, middleImage, leftImage; /** * 定义一个面板 */ private JPanel contentPane =new JPanel(); /** * 方法说明:构造方法 */ public MyButtonDemo(){ leftImage = createImageIcon("base2011/images/left.gif"); middleImage = createImageIcon("base2011/images/middle.gif"); rightImage = createImageIcon("base2011/images/right.gif"); //构建窗体 this.lunchFrame("ButtonDemo"); } /** * 构建窗体 */ private void lunchFrame(String title){ b1 = new JButton("失效中间按钮", leftImage); b1.setVerticalTextPosition(AbstractButton.CENTER); b1.setHorizontalTextPosition(AbstractButton.LEADING); b1.setMnemonic(KeyEvent.VK_D); b1.setActionCommand("Disable"); b1.setToolTipText("点击此按钮时中间按钮失效"); b1.addActionListener(this); b2 = new JButton("中间按钮", middleImage); b2.setVerticalTextPosition(AbstractButton.BOTTOM); b2.setHorizontalTextPosition(AbstractButton.LEADING); b2.setMnemonic(KeyEvent.VK_M); b2.setToolTipText("点击此按钮无任何事件发生"); b3 = new JButton("激活中间按钮", rightImage); b3.setHorizontalTextPosition(AbstractButton.LEADING); b3.setVerticalTextPosition(AbstractButton.CENTER); b3.setMnemonic(KeyEvent.VK_E); b3.setToolTipText("点击此按钮使中间按钮激活"); b3.setActionCommand("Enable"); b3.setEnabled(false); b3.addActionListener(this); contentPane.add(b1); contentPane.add(b2); contentPane.add(b3); contentPane.setOpaque(false);//绘制边界内所有元素 this.setContentPane(contentPane); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); this.setTitle(title); this.pack(); //将窗体定义到屏幕中间位置 this.setCenterLocation(); JFrame.setDefaultLookAndFeelDecorated(false); } /** * 方法说明:创建图标对象 * @param path 图片的存放路径 * @return ImageIcon */ protected static ImageIcon createImageIcon(String path){ ImageIcon image = null; try{ java.net.URL imgURL = MyButtonDemo.class.getClassLoader().getResource(path); if(imgURL != null){ image = new ImageIcon(imgURL); }else{ System.err.println("could not find file: "+path); } }catch(Exception e){ e.printStackTrace(); } if(image != null){ return image; }else{ return null; } } /** * 方法说明:将窗体定位到屏幕中间 */ public void setCenterLocation(){ Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); int w = this.getSize().width; int h = this.getSize().height; System.out.println("宽度: "+w+" ,高度:"+h); int x = (dim.width - w)/2; int y = (dim.height - h)/2; this.setLocation(x, y); } /** * 方法说明:事件处理 */ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if("Disable".equals(e.getActionCommand())){ b1.setEnabled(false); b2.setEnabled(false); b3.setEnabled(true); }else{ b1.setEnabled(true); b2.setEnabled(true); b3.setEnabled(false); } } /** * 方法说明:主方法 * @param args */ public static void main(String[] args){ new MyButtonDemo(); } }
您还没有登录,请您登录后再发表评论
MouseListener用于监听用户的鼠标操作,而Timer类则可以用来在指定间隔执行代码,实现动画效果。 描述中提到的“博文链接:https://zzycami.iteye.com/blog/858148”是一个ITEYE博客上的文章链接,很可能详细介绍了...
- 演示界面和手动操作界面之间的切换,可能是通过按钮或者菜单项实现的。 **AWT组件**: - 汉诺塔的表示可能由多个JButton组成,每个按钮代表一个圆盘。按钮的大小、颜色和位置可以反映出圆盘的大小和在柱子上的...
在Java中,这通常会使用Java Swing或JavaFX库来创建窗口和控件,如JButton和JLabel,用于显示圆盘和控制游戏的执行。用户可能可以通过点击按钮启动汉诺塔游戏,并观察圆盘按照正确的顺序移动。 源码分析时,我们...
每个组件都可以注册一个或多个监听器,如ActionListener、MouseListener、KeyListener等,以响应用户的操作。 9. **布局管理**: Swing提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout和...
在实际的应用场景中,"产品演示程序"可能还包括其他Swing组件,如JScrollPane用于滚动视图,JOptionPane用于弹出对话框提示用户操作,甚至是JFileChooser用于让用户选择文件。所有这些组件协同工作,为用户提供了一...
- `JButton startButton`: 启动汉诺塔演示的按钮。 - `JTextArea displayArea`: 显示每一步移动情况的文本区域。 - `MouseListener`和`ActionListener`:监听用户操作,当用户点击开始按钮时,调用`hanoi`方法...
例如,JFrame作为主窗口,JButton用于触发链表或堆栈的操作,而JLabel可以用来显示操作结果或当前链表的状态。用户可以通过点击按钮,触发对应的Java事件监听器,进而调用链表或堆栈的相应方法。 为了实现这些功能...
Swing组件主要由JComponent类及其子类构成,包括按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、滚动窗格(JScrollPane)、菜单(JMenu)等。这些组件为创建复杂的用户界面提供了基础。 ...
在视频中,开发者可能展示了如何利用Swing组件(如JFrame、JTable、JButton等)构建一个用户友好的界面,实现对数据库记录的查看、添加、修改和删除功能。 4. **增删改查(CRUD)操作**:这是数据库应用的基础,...
此外,Swing提供了丰富的组件库,如`JButton`(按钮)、`JLabel`(标签)、`JTextArea`(文本区域)等,可以组合成复杂的用户界面。 6. **菜单演示**:在Java中,`JMenuBar`和`JMenu`类用于创建菜单栏和子菜单,` ...
在这个基础演示中,我们将深入理解`JToolBar`的使用方法,以及如何在Java Swing应用中集成它。 首先,`JToolBar`是`JComponent`的一个子类,这意味着它可以像其他Swing组件一样进行定制和布局管理。创建一个`...
下面是一个简单的示例代码,演示如何创建一个包含两个按钮的窗口,并设置其中一个为默认按钮: ```java public class JButtonDemo4 { public static void main(String[] args) { JFrame frame = new JFrame("Java...
- `button_start` 和 `button_interrupt`:分别用于启动和中断线程的 `JButton`。 - `text_state`:用于显示线程当前状态的 `JTextField`(原文未给出此部分代码,这里假设存在)。 2. **线程控制**: - `sleep...
1. JButton:用于创建按钮,可以绑定事件监听器,响应用户的点击操作。 2. JTextField:用于输入单行文本,支持文本验证和格式化。 3. JLabel:显示文本或图像,常用于提供说明或者标题。 4. JPanel:容器组件,可以...
在这个演示中,可能包含了JFrame、JButton、JLabel等组件,以及ActionListener接口来处理用户的交互事件,例如启动、停止或调整哲学家的行为。 6. **事件驱动编程**:GUI程序通常采用事件驱动模型,当用户进行操作...
import java.awt.*; import java.awt.event.*; import javax.swing.*; class PCDD { public static void main(String []args) ... ProcessFrame PF=new ProcessFrame();... b1=new JButton("开始演示");
- **`JButton`**:按钮组件,触发排序操作。 3. **关键方法**: - **`maoPaoSort()`**:此方法实现了冒泡排序的逻辑,并且更新了界面上的标签以显示排序的过程。 - **数据准备**:首先从文本框获取用户输入的...
这个“Java Swing 组件全演示源代码.zip”文件包含了对Java Swing各种组件的实例化和使用展示,非常适合初学者学习和开发者参考。 首先,Swing提供了大量的组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel...
在Java Swing组件全演示的小程序中,开发者展示了如何使用这些组件创建一个综合的用户界面,让用户能够交互操作。 例如,JSplitPane是一个特殊容器,用于拆分两个子组件。它可以水平或垂直分割,允许用户动态调整两...
下面是一个简单的例子,演示如何在一个JApplet中使用这些概念来实现撤销/重做功能。在这个例子中,用户可以通过点击“Draw Line”和“Draw Circle”按钮在绘图板上绘制直线和圆,所有绘制操作都可以通过`UndoManager...
相关推荐
MouseListener用于监听用户的鼠标操作,而Timer类则可以用来在指定间隔执行代码,实现动画效果。 描述中提到的“博文链接:https://zzycami.iteye.com/blog/858148”是一个ITEYE博客上的文章链接,很可能详细介绍了...
- 演示界面和手动操作界面之间的切换,可能是通过按钮或者菜单项实现的。 **AWT组件**: - 汉诺塔的表示可能由多个JButton组成,每个按钮代表一个圆盘。按钮的大小、颜色和位置可以反映出圆盘的大小和在柱子上的...
在Java中,这通常会使用Java Swing或JavaFX库来创建窗口和控件,如JButton和JLabel,用于显示圆盘和控制游戏的执行。用户可能可以通过点击按钮启动汉诺塔游戏,并观察圆盘按照正确的顺序移动。 源码分析时,我们...
每个组件都可以注册一个或多个监听器,如ActionListener、MouseListener、KeyListener等,以响应用户的操作。 9. **布局管理**: Swing提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout和...
在实际的应用场景中,"产品演示程序"可能还包括其他Swing组件,如JScrollPane用于滚动视图,JOptionPane用于弹出对话框提示用户操作,甚至是JFileChooser用于让用户选择文件。所有这些组件协同工作,为用户提供了一...
- `JButton startButton`: 启动汉诺塔演示的按钮。 - `JTextArea displayArea`: 显示每一步移动情况的文本区域。 - `MouseListener`和`ActionListener`:监听用户操作,当用户点击开始按钮时,调用`hanoi`方法...
例如,JFrame作为主窗口,JButton用于触发链表或堆栈的操作,而JLabel可以用来显示操作结果或当前链表的状态。用户可以通过点击按钮,触发对应的Java事件监听器,进而调用链表或堆栈的相应方法。 为了实现这些功能...
Swing组件主要由JComponent类及其子类构成,包括按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、滚动窗格(JScrollPane)、菜单(JMenu)等。这些组件为创建复杂的用户界面提供了基础。 ...
在视频中,开发者可能展示了如何利用Swing组件(如JFrame、JTable、JButton等)构建一个用户友好的界面,实现对数据库记录的查看、添加、修改和删除功能。 4. **增删改查(CRUD)操作**:这是数据库应用的基础,...
此外,Swing提供了丰富的组件库,如`JButton`(按钮)、`JLabel`(标签)、`JTextArea`(文本区域)等,可以组合成复杂的用户界面。 6. **菜单演示**:在Java中,`JMenuBar`和`JMenu`类用于创建菜单栏和子菜单,` ...
在这个基础演示中,我们将深入理解`JToolBar`的使用方法,以及如何在Java Swing应用中集成它。 首先,`JToolBar`是`JComponent`的一个子类,这意味着它可以像其他Swing组件一样进行定制和布局管理。创建一个`...
下面是一个简单的示例代码,演示如何创建一个包含两个按钮的窗口,并设置其中一个为默认按钮: ```java public class JButtonDemo4 { public static void main(String[] args) { JFrame frame = new JFrame("Java...
- `button_start` 和 `button_interrupt`:分别用于启动和中断线程的 `JButton`。 - `text_state`:用于显示线程当前状态的 `JTextField`(原文未给出此部分代码,这里假设存在)。 2. **线程控制**: - `sleep...
1. JButton:用于创建按钮,可以绑定事件监听器,响应用户的点击操作。 2. JTextField:用于输入单行文本,支持文本验证和格式化。 3. JLabel:显示文本或图像,常用于提供说明或者标题。 4. JPanel:容器组件,可以...
在这个演示中,可能包含了JFrame、JButton、JLabel等组件,以及ActionListener接口来处理用户的交互事件,例如启动、停止或调整哲学家的行为。 6. **事件驱动编程**:GUI程序通常采用事件驱动模型,当用户进行操作...
import java.awt.*; import java.awt.event.*; import javax.swing.*; class PCDD { public static void main(String []args) ... ProcessFrame PF=new ProcessFrame();... b1=new JButton("开始演示");
- **`JButton`**:按钮组件,触发排序操作。 3. **关键方法**: - **`maoPaoSort()`**:此方法实现了冒泡排序的逻辑,并且更新了界面上的标签以显示排序的过程。 - **数据准备**:首先从文本框获取用户输入的...
这个“Java Swing 组件全演示源代码.zip”文件包含了对Java Swing各种组件的实例化和使用展示,非常适合初学者学习和开发者参考。 首先,Swing提供了大量的组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel...
在Java Swing组件全演示的小程序中,开发者展示了如何使用这些组件创建一个综合的用户界面,让用户能够交互操作。 例如,JSplitPane是一个特殊容器,用于拆分两个子组件。它可以水平或垂直分割,允许用户动态调整两...
下面是一个简单的例子,演示如何在一个JApplet中使用这些概念来实现撤销/重做功能。在这个例子中,用户可以通过点击“Draw Line”和“Draw Circle”按钮在绘图板上绘制直线和圆,所有绘制操作都可以通过`UndoManager...