- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个 Java Swing 应用程序,其中包含 1 个 TextArea、1 个 Label 和 1 个 TextField。
我的代码如下:
package mainpack.newboston;
import java.awt.Color;
import java.awt.Container;
import java.awt.Insets;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Panel extends JPanel implements ActionListener {
protected JTextArea textarea123;
protected JTextField textfield1;
JLabel label;
JFrame frame;
public Panel() {
setLayout(null);
JTextArea textarea123 = new JTextArea();
JTextField textfield1 = new JTextField(30);
JLabel label = new JLabel("Command: ");
add(textarea123);
add(textfield1);
add(label);
// textarea123.append("Hello");
textarea123.setEditable(false);
textarea123.setSize(600, 600);
textarea123.setBackground(Color.BLACK);
textarea123.setForeground(Color.WHITE);
textfield1.setBorder(null);
textfield1.setBackground(Color.BLACK);
textfield1.setForeground(Color.white);
textfield1.addActionListener(this);
textfield1.setActionCommand("commandexecuted");
// label.setForeground(Color.WHITE);
label.setBackground(Color.ORANGE);
//#######################################################
Insets insets = getInsets();
Dimension fieldsize = textfield1.getPreferredSize();
textfield1.setBounds(63 + insets.left, 555 + insets.top, 537, fieldsize.height);
textfield1.setFocusable(true);
textfield1.setEnabled(true);
Dimension labelsize = label.getPreferredSize();
label.setBounds(0 + insets.left, 555 + insets.top, labelsize.width, labelsize.height);
@SuppressWarnings("unused")
Dimension size = textarea123.getPreferredSize();
textarea123.setBounds(0 + insets.left, 0 + insets.top, 600, 555);
//##########################################################
}
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("New Boston");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Set up the content pane.
frame.add(new Panel());
//Size and display the window.
Insets insets = frame.getInsets();
frame.setResizable(false);
frame.setSize(600 + insets.left + insets.right, 600 + insets.top + insets.bottom);
frame.setVisible(true);
}
public void ConsoleLog(String message){
System.out.println(message);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
public void textappend(String message) {
textarea123.append(message);
}
public void actionPerformed(ActionEvent evt) {
if (evt.getActionCommand().equals("commandexecuted")) {
if (textfield1.getText().equals("Try")) {
ConsoleLog("Hello");
}
}
}
}
当 TextField 处于焦点状态时按下 Enter 键时出现错误消息:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at mainpack.newboston.Panel.actionPerformed(Panel.java:127)
at javax.swing.JTextField.fireActionPerformed(Unknown Source)
at javax.swing.JTextField.postActionEvent(Unknown Source)
at javax.swing.JTextField$NotifyAction.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
我试图让它看起来像一个控制台并使用一些命令,但我稍后会这样做,因为我无法使用 ActionEvents...
最佳答案
在您的构造函数中,更改此行
JTextField textfield1 = new JTextField(30);
到
this.textfield1 = new JTextField(30);
关于java - Swing 应用程序在 ActionEvent 上抛出 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572597/
已经尝试解决这个问题一天多了,现在抛出白旗。在 UMUC 上这门课,这几乎是一个自学类(class),没有任何帮助,所以我真的很高兴能够在这里提出这个问题。 只是从概念上问这个问题,因为我什至无法理解
我有一个带有属性 pin、发件人姓名、收件人姓名、发件人电话、金额的现金表单,以及另一个带有属性 pin、发件人姓名、收件人姓名、发件人电话、金额、银行名称、帐号的表单帐户。 两种形式都有发送命令 现
我需要做的是一个生产者/消费者程序。我需要做 2 个生产者线程(第一个将继续发送 AcionEvent,间隔 4 秒,第二个将执行相同的操作,间隔 10 秒)。消费者线程需要是带有 JTextArea
我注意到,即使指定条件语句,ActionEvent 仍会在我的 JRadioButtonMenuItem 组中触发: if(!button.isSelected()) //Do stuff
简而言之: 我正在致力于使用 AI 和 GUI 创建纸牌游戏。用户的手显示在游戏界面上,我尚未完成界面,但我打算将牌面图像添加到屏幕上的矩形中。我没有找到 5 种几乎相同的方法,而是找到了一篇类似的文
我看过网上的java教程,它们似乎都关心捕获其他已编写的组件发出的ActionEvents。是否可以编写自己的对象,这些对象有自己的一组标准来触发actionEvents,然后可以被注册为监听器的其他
最近我一直在玩 Java Swing,并尝试创建一个自定义的 Minecraft 服务器启动器。当我按下标有“属性”的按钮时,它应该更改为一个新面板并在某一时刻执行此操作。但是,由于某种原因,我看不到
我已经扩展了 JTextField。我的类(class)有多个 ActionListeners,但我特别需要一个始终首先触发。有没有办法确保特定的 ActionEvent 总是最先出现? 请注意,我确
我正在制作一个程序,可以根据用户输入用文字或字符包装文本。我的所有工作正常,但ActionEvent却给我一个“找不到符号”错误。我敢肯定,我错过了一些小东西,但是我似乎找不到它: import ja
我构建了一个简单的 JavaFX 应用程序,当鼠标进入椭圆时,我不想在椭圆的中心创建一个圆。 这是一些代码: ellipse = new Ellipse(30,30,40,40); ellipse.s
为了测试我对 Java 接口(interface)的理解,我将按钮单击事件处理程序中的匿名类拉到一个单独的类中 - 这已经起作用了 - 但我不明白它为什么起作用。 我原以为必须自己调用类的 handl
我还是 Java 新手,在单击按钮时更改 JLabel 中的图像时遇到问题。我没有收到任何编译器错误,但确实收到了运行时错误。 Line 107: l1.setIcon(icon); “线程“AWT-
我已经在这方面得到了一些帮助,但是现在当我按下按钮时,没有任何反应。我希望当您单击按钮时显示文本。如果是布局问题,我应该使用哪一个? FlowLayout 不适用于此程序,因为它会扭曲按钮。 impo
我试图在按下按钮时启用/禁用标签,并且我想在事件期间而不是事件之后执行此操作。正如您在下面看到的,我尝试启用/禁用两个标签:lblKeyboard 和 lblGamepad。 它们最终在“Remote
我有两个类,一个包含两个组合框的 gui 类和一个监听两个组合框的监听器类。该软件是关于披萨的,组合框是选择披萨的类型和数量,我将发布相关代码。 (gui class) private Listene
找到解决方案 决定在 actionListener 之外创建一个名为 chairPrice 的方法更容易,该方法可以通过名为 getItemPrice() 的方法递增。这已用于计算元素和作品总价的10
我的代码属于 LWUIT 应用程序,但存在 LWUIT 和 java swing 之间常见问题。 我有一个表格,在它的最后一个单元格上设置了一个按钮作为组件 我的问题只是为什么当我按下该按钮时没有发生
我是 Java 新手,正在开发一个看起来像标准介绍项目的项目,该项目创建多个 (<10) 个计时器,每个计时器都可以独立启动和停止。启动后,它们会每秒从初始启动时间开始倒计时一次,并显示更新等等。 我
我正在开发一个相当大(且有缺陷)的 JSF 应用程序,用户经常提示我们难以重现的问题。 是否可以拦截所有 ActionEvents 的创建,以便我可以记录它们的创建? 如果没有,是否有一种自动方式(J
首先,如果标题很简短,我深表歉意,我已经考虑过,但无法为我的问题提供足够短的摘要。 我有一个由 JButton 组成的 JPanel 类。 我有我的主 Swing 应用程序类,其中包含 Swing 组
我是一名优秀的程序员,十分优秀!