-1

そのため、JFrame のボタンをクリックすると、ボタンがクリックされている限り、ボタンの背景を変更したいと考えています。誰か助けてくれませんか?

ありがとう!

4

3 に答える 3

2

ボタンをクリックすると、ボタンの背景が変わるようにしたい

ボタンを押す前:

ここに画像の説明を入力

ボタンを押した後:

ここに画像の説明を入力

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Test {

    public static void main(String[] args) {
        createAndShowJFrame();
    }

    public static void createAndShowJFrame() {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {

                JFrame frame = createJFrame();
                frame.setVisible(true);

            }
        });
    }

    private static JFrame createJFrame() {
        JFrame frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        ActionListener al = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {

                JButton btn = ((JButton) ae.getSource());//get the button that was clicked

                //set its background and foreground
                btn.setBackground(Color.RED);
                btn.setForeground(Color.GREEN);
            }
        };

        JButton b = new JButton("Test");
        b.addActionListener(al);

        frame.add(b);

        frame.pack();

        return frame;
    }
}
于 2013-06-28T11:41:11.647 に答える