gpt4 book ai didi

java - 如何使用 ArrayList 来管理多个 JButton?

转载 作者:行者123 更新时间:2023-11-29 05:26:56 25 4
gpt4 key购买 nike

我不确定如何使用 ArrayList。我想声明变量,将它们添加到面板,更改它们的字体和颜色等。这是我拥有的变量

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Calculator extends JFrame implements ActionListener {

// declare number buttons
private JButton zero = new JButton("0");
private JButton one = new JButton("1");
private JButton two = new JButton("2");
private JButton three = new JButton("3");
private JButton four = new JButton("4");
private JButton five = new JButton("5");
private JButton six = new JButton("6");
private JButton seven = new JButton("7");
private JButton eight = new JButton("8");
private JButton nine = new JButton("9");

public Calculator(String name) {

// set overall layout
setLayout(new BorderLayout());

// Create panel
JPanel grid = new JPanel();
grid.setLayout(new GridLayout(4, 4, 4, 4));

// Create font
Font font = new Font("SERIF", Font.BOLD, 32);

// Set Button Fonts and color
zero.setFont(font);
zero.setBackground(Color.cyan);
one.setFont(font);
one.setBackground(Color.cyan);
two.setFont(font);
two.setBackground(Color.cyan);
three.setFont(font);
three.setBackground(Color.cyan);
four.setFont(font);
four.setBackground(Color.cyan);
five.setFont(font);
five.setBackground(Color.cyan);
six.setFont(font);
six.setBackground(Color.cyan);
seven.setFont(font);
seven.setBackground(Color.cyan);
eight.setFont(font);
eight.setBackground(Color.cyan);
nine.setFont(font);
nine.setBackground(Color.cyan);

// add Buttons to grid
grid.add(zero);
grid.add(one);
grid.add(two);
grid.add(three);
grid.add(four);
grid.add(five);
grid.add(six);
grid.add(seven);
grid.add(eight);
grid.add(nine);

boolean edit = false;
JTextField numberBar = new JTextField();
numberBar.setSize(grid.WIDTH, 50);
numberBar.setEditable(edit);

// Add Number bar to panel
add(numberBar, BorderLayout.NORTH);

// Add grid to main panel
add(grid);

setTitle(name);
setSize(500, 500);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

}

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub

}

public static void main(String[] args) {
// TODO Auto-generated method stub
Calculator calculator = new Calculator("Calculator");

}

如您所见,如果没有 ArrayLists,这将是一团糟。

最佳答案

使用ArrayList<JButton> .使用 myList.add(myJButton) 添加它们并使用类似的东西操纵它们

for (JButton button : myList)
button.setBackground(Color.cyan);

关于java - 如何使用 ArrayList 来管理多个 JButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22366126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com