首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java AWT中的.add()在actionPerformed之后不起作用

在Java AWT中,.add()方法用于向容器中添加组件。在actionPerformed方法之后调用.add()方法可能不会立即生效,这是因为AWT使用事件驱动模型,即组件的添加和布局操作通常在事件处理完成后才会生效。

当调用.add()方法时,组件会被添加到容器的组件列表中,但是容器的布局管理器可能需要重新计算和调整组件的位置和大小。这个过程通常在事件处理完成后自动触发,以确保组件的正确布局。

如果希望在调用.add()方法后立即生效,可以使用容器的.revalidate()方法和.repaint()方法。.revalidate()方法会触发容器的重新布局,而.repaint()方法会触发容器的重绘,以显示新添加的组件。

以下是一个示例代码:

代码语言:txt
复制
import java.awt.*;
import java.awt.event.*;

public class MyFrame extends Frame implements ActionListener {
    private Button button;

    public MyFrame() {
        button = new Button("Click me");
        button.addActionListener(this);
        add(button);
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == button) {
            Label label = new Label("New Label");
            add(label);
            revalidate();
            repaint();
        }
    }

    public static void main(String[] args) {
        MyFrame frame = new MyFrame();
        frame.setLayout(new FlowLayout());
        frame.setSize(300, 200);
        frame.setVisible(true);
    }
}

在上面的示例中,当点击按钮时,会在窗口中添加一个新的标签。在actionPerformed方法中,我们先创建一个新的标签并调用.add()方法将其添加到窗口中,然后调用.revalidate()方法和.repaint()方法使其立即生效。

请注意,以上示例只是演示了如何在.actionPerformed方法中使用.add()方法后立即生效,实际应用中可能需要根据具体情况进行适当的调整和处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TextField和Graphics类

与该事件对应事件类是java.awt.event.ActionEvent 用来处理ActionEvent事件是实现了java.awt.event.ActionListener接口对象,ActionListener...接口定义有方法: public void actionPerformed(ActionEvent e) 实现该接口类要在该方法添加处理该事件(Action)语句 使用addActionListener...方法方法可以获取该对象信息,并做相应处理 import java.awt.*; import java.awt.event.*; public class TFActionEvent {...,我需要将TFFrame类tf相关信息传到TFActionListener,这样才能使用tf对象一些方法,比方说获取其文本框内容,修改其文本框内容等等,但是tf是另一个类对象,并不是TFActionListener...类对象,如何获取呢?

87620

Java学习之AWT GUI编程

AWT是窗口框架,它从不同平台窗口系统抽取出共同组件 , 当程序运行时,将这些组件创建和动作委托给程序所在运行平台 。...使用AWT创建图形界面应用和所在运行平台有相同界面风格 , 比如在 Windows 操作系统上,它就表现出 Windows 风格 ; UNIX 操作系统上,它就表现出UNIX 风格 。...0x02 AWT体系 所有和 AWT 编程相关类都放在 java.awt 包以及它子包AWT 编程中有两个基类 :Component和 MenuComponent。...GUI事件处理机制涉及到4个重要概念需要理解: 事件源(Event Source):操作发生场所,通常指某个组件,例如按钮、窗口等; 事件(Event):事件源上发生操作可以叫做事件,GUI...注册监听:把某个事件监听器(A)通过某个事件(B)绑定到某个事件源(C)上,当在事件源C上发生了事件B之后,那么事件监听器A代码就会自动执行。

1.4K30

Java-单机版书店管理系统(练习设计模块和思想_系列汇总)

6、综合应用JSE所学习知识 7、应用合理使用集合框架 8、应用综合使用swing常用组件 9、基本表现层实现机制 10、IO流和文件基本操作 11、培养良好Java...面向接口编程啊,表现层,逻辑层,数据层啊,这些以前用都没用过,那时候完全不懂得怎么回事,不过自己写了之后,感觉嘛、也就那么回事。...void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt...,写了库存模块之后改了一点,增加了和库存模块串接: 逻辑层接口InMainEbo: package cn.hncu.bookStore.in.business.ebo; import java.util.List...帮助界面: 当用户文件被删除了之后,就只能通过这个账号登录了。 ? 管理员登录后欢迎界面: 这个是管理员登录欢迎界面,可以看到所有的菜单项都被点亮了。 ?

1.6K10

java GUI 快速入门

java 编写 GUI 有两工具包,分别为 AWT、Swing。 Swing 是 AWT 拓展,Swing 具有比 AWT 丰富组件和方法。...import java.awt.*; import javax.swing.*; 一个 awt 示例 下面是一个窗口示例 import java.awt.*; public class MyFrame...事件 java ,事件分为三个方面描述, 事件源:发生事件对象 事件处理:委托事件处理模型 事件监听者:负责处理事件 ? 首先B监听A,设置监听内容,并设置响应内容。...package com.company; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener...文本框有两个常用事件 ActionEvent事件 文本框按回车键时引发 注册:addActionListener() 接口:ActionListener 方法:public void actionPerformed

1.6K40

Java程序设计(高级及专题)- GUI「建议收藏」

GUI各种元素(如:窗口,按钮,文本框)由Java类实现。 使用AWT所涉及类一般 java.awt 包及其子包。 Container 和 Component 是AWT两个和心态。...JavaGUI提供对象都存在 java.Awt 和 javax.Swing 两个包. * * java.Awt:Abstract Window ToolKit(抽象 窗口工具包) * 需要调用本地系统方法实现功能....属重量级控件 (跨平台不够强) * * java.Swing:AWT基础上,建立一套图形界面系统,器重提供了更多组件, * 而且完全由java实现,增强了移植性,属于轻量级控件....ActionListener接口定义有方法: public void actionPerformed(ActionEvent e) 实现该接口类主要在该方法添加处理事件(Action)语句。...actionPerformer 方法方法可以获取该对象信息,并做相应处理。

52620

Java-GUI编程之Swing组件

首先要明确是不管是菜单条中的菜单项还是工具条工具按钮,最终肯定是需要点击来完成一些操作,所以JToolBar以及JMenu都提供了更加便捷添加子组件方法add(Action a),在这个方法内部会做如下几件事...: 创建一个适用于该容器组件(例如,工具栏创建一个工具按钮); 从 Action 对象获得对应属性来设置该组件(例如,通过 name 来设置文本,通过 lcon 来设置图标) ; 把Action...监听器注册到刚才创建组件上; 案例: ​ 使用JToolBar组件完成下图效果: 演示代码: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent...AWT FileDialog 基本相似,也是用于生成"打开文件"、"保存文件 "对话框。....*; import java.awt.*; import java.awt.event.ActionEvent; public class MessageDialogTest { JFrame

2.2K20

java高级语言程序设计_高级程序设计语言包括

GUI各种元素(如:窗口,按钮,文本框)由Java类实现。 使用AWT所涉及类一般 java.awt 包及其子包。 Container 和 Component 是AWT两个和心态。...JavaGUI提供对象都存在 java.Awt 和 javax.Swing 两个包. * * java.Awt:Abstract Window ToolKit(抽象 窗口工具包) * 需要调用本地系统方法实现功能....属重量级控件 (跨平台不够强) * * java.Swing:AWT基础上,建立一套图形界面系统,器重提供了更多组件, * 而且完全由java实现,增强了移植性,属于轻量级控件....ActionListener接口定义有方法: public void actionPerformed(ActionEvent e) 实现该接口类主要在该方法添加处理事件(Action)语句。...actionPerformer 方法方法可以获取该对象信息,并做相应处理。

81510

【创作赢红包】【Java AWT 图形界面编程】菜单组件 ② ( 菜单组件示例要点说明 | 菜单组件示例代码 )

监听器 , 当选中该 菜单项 时 , 就会执行该 监听器 actionPerformed 回调函数 ; 创建完毕后 , 将 MenuItem 菜单项组件 放入 Menu 菜单组件 ;...}); menu.add(menuItem); 4、创建 MenuItem 菜单项组件 之间分割线 使用下面的代码 , 可以创建 MenuItem 菜单项组件 之间分割线 ;...菜单项组件时 , 传递第二个参数 MenuShortcut 对象 , 可以设置 快捷键 , 设置后 , 快捷键会自动显示 菜单项 ; 使用快捷键也可以触发 ActionListener 监听器...e) { System.out.println("注释"); } }); 二、代码示例 ---- 代码示例 : import java.awt....*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent

60540
领券