JButton,JTextFeild,JLabel设置背景颜色不起作用

问题描述 投票:1回答:1

这是我的JButton代码。我在设置此登录按钮的背景颜色时遇到问题

JButton btnlogin = new JButton("Log in");
    btnlogin.setFont(new Font("Lucida Grande", Font.BOLD, 14));
    btnlogin.setAlignmentX(Component.CENTER_ALIGNMENT);
    btnlogin.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            EmailValidator emailValidator = new EmailValidator();
            if(!emailValidator.validate(txtEmail.getText().trim())) {
                System.out.print("Invalid Email ID");
                validationtext.setText("Invalid Email");
            }
        }
    });
    btnlogin.setBounds(210, 432, 200, 48);
    btnlogin.setBackground(new Color(66, 185, 217));
    frame.getContentPane().add(btnlogin);

我已经尝试将opaque值设置为true,但仍然无效。

java swing jbutton jlabel jtextfield
1个回答
1
投票

您只需在设置背景颜色之前添加两行以获得预期结果:

  1. 通过编写以下内容将opaque值设置为true:btnlogin.setOpaque(true);
  2. 默认情况下,在JFrame中设置边框,您必须根据自己的意愿进行更改。这里我使用的是MatteBorder的例子:btnlogin.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));

然后,您将获得预期的结果。

© www.soinside.com 2019 - 2024. All rights reserved.