1

此类表示我创建的 UI 的按钮面板,名为“btnNext”的第二个 JButton 不显示文本,但第一个 JButton 显示,这是为什么呢?

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;

public class ButtonPanel extends JPanel {
    private MainPanel mainPanel;

    // Buttons
    private JButton btnRunTheAlgorithm = new JButton("Run the Algorithm");
    public static JButton btnNext = new JButton("Next Step");

    public ButtonPanel(MainPanel mainPanel) {
        this.mainPanel = mainPanel;
        this.setLayout(new FlowLayout());
        this.add(btnRunTheAlgorithm);
        this.add(btnNext);


        this.btnRunTheAlgorithm.addActionListener(e -> {
            Algorithm main = new Algorithm(mainPanel);
            main.Run();
        });

        this.btnNext.setAction(new AbstractAction() {
            public void actionPerformed(ActionEvent ae) {
                synchronized (btnNext) {
                    btnNext.notify();
                }
             }
         });
     }
 }

按钮显示在面板上,如下图所示:

纽扣:

https://i.stack.imgur.com/qsz9D.png

我也不确定 AbstractAction 是否有效,所以我想这可能是文本不显示的原因,但我不知道为什么会这样。

4

0 回答 0