Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ActionListeners赢了';行不通_Java_Swing_Jframe_Actionlistener - Fatal编程技术网

Java ActionListeners赢了';行不通

Java ActionListeners赢了';行不通,java,swing,jframe,actionlistener,Java,Swing,Jframe,Actionlistener,我有一个问题,我正在写一个程序,但它不工作!这让我有点生气,因为我知道我是在平板电脑上输入的。我有这个应用程序,它给我的程序,我可以复制。我正在尝试制作一个显示时间、修改器、源和事件id的程序。因此,我不知道出了什么问题,我需要一些帮助。所以,如果你能写下这段代码的错误。还有一件事,我是一个初学者,所以请不要嘲笑我的错误,因为我不知道是什么错了。无论如何,代码如下: import java.awt.event.*; import java.text.*; import java.util.*;

我有一个问题,我正在写一个程序,但它不工作!这让我有点生气,因为我知道我是在平板电脑上输入的。我有这个应用程序,它给我的程序,我可以复制。我正在尝试制作一个显示时间、修改器、源和事件id的程序。因此,我不知道出了什么问题,我需要一些帮助。所以,如果你能写下这段代码的错误。还有一件事,我是一个初学者,所以请不要嘲笑我的错误,因为我不知道是什么错了。无论如何,代码如下:

import java.awt.event.*;
import java.text.*;
import java.util.*;
import javax.swing.*;

public class Time extends JFrame {
    private JList list;
    private DefaultListModel model;

    public Time() {

        initUI();
    }

    public final void initUI() {

        JPanel panel = new JPanel();
        panel.setLayout(null);

        model = new DefaultListModel();
        list = new JList(model);
        list.setBounds(150, 30, 220, 150);

        JButton okButton = new JButton("Ok");
        okButton.setBounds(30, 35, 80, 25);

        okButton.addActionListener(this);

        panel.add(okButton);
        panel.add(list);
        add(panel);

        setTitle("Time");
        setSize(420, 250);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }

    public void actionPerformed(ActionEvent e) {

        Locale locale = Locale.getDefault();
        Date date = new Date(e.getWhen());
        String s = DateFormat.getTimeInstance(DateFormat.SHORT, locale).format(date);

        if(!model.isEmpty()) {
            model.clear();
        }

        if (e.getID() == ActionEvent.ACTION_PERFORMED) {
            model.addElement(" Event Id: ACTION_PERFORMED");

        }

        model.addElement("Time: " + s);

        String source = e.getSource().getClass().getName();

        int mod = e.getModifiers();

        StringBuffer buffer = new StringBuffer("Modifiers: ");

        if ((mod & ActionEvent.ALT_MASK) > 0) {
            buffer.append("Alt ");

        }

        if ((mod & ActionEvent.SHIFT_MASK) > 0) {
            buffer.append("Shift ");

        }

        if ((mod & ActionEvent.META_MASK) > 0) {
            buffer.append("Meta ");

        }

        if ((mod & ActionEvent.CTRL_MASK) > 0) {
            buffer.append("Ctrl ");

        }
        model.addElement(buffer);

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                Time ex = new Time();
                ex.setVisible(true);


            }
        });
    }
}

实现类的ActionListener接口:

import java.awt.event.*; import java.text.*; import java.util.*; import javax.swing.*; public class Time extends JFrame implements ActionListener { private JList list; private DefaultListModel model; public Time() { initUI(); } public final void initUI() { JPanel panel = new JPanel(); panel.setLayout(null); model = new DefaultListModel(); list = new JList(model); list.setBounds(150, 30, 220, 150); JButton okButton = new JButton("Ok"); okButton.setBounds(30, 35, 80, 25); okButton.addActionListener(this); panel.add(okButton); panel.add(list); add(panel); setTitle("Time"); setSize(420, 250); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { Locale locale = Locale.getDefault(); Date date = new Date(e.getWhen()); String s = DateFormat.getTimeInstance(DateFormat.SHORT, locale).format(date); if(!model.isEmpty()) { model.clear(); } if (e.getID() == ActionEvent.ACTION_PERFORMED) { model.addElement(" Event Id: ACTION_PERFORMED"); } model.addElement("Time: " + s); String source = e.getSource().getClass().getName(); int mod = e.getModifiers(); StringBuffer buffer = new StringBuffer("Modifiers: "); if ((mod & ActionEvent.ALT_MASK) > 0) { buffer.append("Alt "); } if ((mod & ActionEvent.SHIFT_MASK) > 0) { buffer.append("Shift "); } if ((mod & ActionEvent.META_MASK) > 0) { buffer.append("Meta "); } if ((mod & ActionEvent.CTRL_MASK) > 0) { buffer.append("Ctrl "); } model.addElement(buffer); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { Time ex = new Time(); ex.setVisible(true); } }); } } 导入java.awt.event.*; 导入java.text.*; 导入java.util.*; 导入javax.swing.*; 公共类时间扩展JFrame实现ActionListener{ 私人名单; 私有模型; 公共时间(){ initUI(); } 公共最终无效初始值(){ JPanel面板=新的JPanel(); panel.setLayout(空); model=新的DefaultListModel(); 列表=新JList(型号); 列表.立根(150、30、220、150); JButton-okButton=新JButton(“Ok”); okButton.setBounds(30,35,80,25); okButton.addActionListener(这个); 面板。添加(确定按钮); 面板。添加(列表); 添加(面板); 设定标题(“时间”); 设置大小(420250); setLocationRelativeTo(空); setDefaultCloseOperation(关闭时退出); } 已执行的公共无效操作(操作事件e){ Locale=Locale.getDefault(); 日期=新日期(如getWhen()); 字符串s=DateFormat.getTimeInstance(DateFormat.SHORT,locale).format(日期); 如果(!model.isEmpty()){ model.clear(); } 如果(e.getID()==ActionEvent.ACTION_已执行){ 模型补遗(“事件Id:已执行的操作”); } 模型补遗(“时间:+s”); 字符串源=e.getSource().getClass().getName(); int mod=e.getModifiers(); StringBuffer=新的StringBuffer(“修饰符:”); 如果((mod&ActionEvent.ALT_MASK)>0){ buffer.append(“Alt”); } 如果((mod&ActionEvent.SHIFT\u掩码)>0){ 缓冲区。追加(“移位”); } 如果((mod&ActionEvent.META_MASK)>0){ 缓冲区。附加(“元”); } 如果((mod&ActionEvent.CTRL\u MASK)>0){ buffer.append(“Ctrl”); } 模型.加法器(缓冲器); } 公共静态void main(字符串[]args){ SwingUtilities.invokeLater(新的Runnable(){ 公开募捐{ 时间ex=新时间(); 例如,setVisible(真); } }); } }
您需要具体告诉我们什么不起作用以及您期望的是什么。您在本课程中没有实现ActionListener。“我在编写程序时遇到问题,但程序不起作用!”请参阅和。阅读完这些内容后,请编辑您的问题,以清楚地描述您的问题,以及您试图做什么来解决问题,以及您的尝试不起作用的原因。不起作用的部分是:okButton.addElement