簡體   English   中英

如何刪除 jbutton 的顏色保持

[英]How to remove the color hold of a jbutton

當驗證正確時,si 按鈕被放置為綠色,然后我執行了不正確的驗證並且 si 按鈕仍為該顏色。

我試圖選擇兩個按鈕的原始顏色,但它不適用於 si 按鈕。

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

private void btn_validarActionPerformed(java.awt.event.ActionEvent evt) {                                            
    String w_correo = caja_correo.getText();
    Pattern p_correo1 = Pattern.compile("^(?=.{1,129}$)[a-zA-Z][a-zA-Z][a-zA-Z]*\\.[a-zA-Z][a-zA-Z][a-zA-Z]*\\.(?:2019|20[2-9][0-9]|2[1-9][0-9]{2}|[3-9][0-9]{3})@([0-9]|[a-z]|[A-Z])+\\.edu.?[a-z]*$");
        Matcher m_correo1 = p_correo1.matcher(w_correo);
     Pattern p_correo2 = Pattern.compile("^(?=.{1,129}$)(?:2018|201[0-7]|200[0-9]|1[0-9]{1,3}|[0-9]{1,3})\\.[a-zA-Z][a-zA-Z][a-zA-Z]*\\.[a-zA-Z][a-zA-Z][a-zA-Z]*@\\w+(?:\\.\\w+)*\\.com\\.co$");
    Matcher m_correo2 = p_correo2.matcher(w_correo);    

    correcto.setBackground(null);  
    incorrecto.setBackground(null);

    if (m_correo1.matches()|| m_correo2.matches()) {
        correcto.setBackground(null);  
        incorrecto.setBackground(null);
        String validacion = "";
        validacion = validacion +  "Direccion de correo electrónico correcta";
        JOptionPane.showMessageDialog(null, validacion);
        correcto.setForeground(Color.GREEN);

    }

    else { 

        String validacion = "";
        if (!m_correo1.matches() || m_correo2.matches()) {
            correcto.setBackground(null);  
            incorrecto.setBackground(null);    
            validacion = validacion + "Direccion de correo electrónico incorrecta";
            JOptionPane.showMessageDialog(null, validacion);
                incorrecto.setBackground(Color.RED);
        }
    }
}

我必須改變,以便 si 按鈕停止保持綠色

在您的正確塊(將文本設置為綠色的塊)中,您要調用incorrect.setBackground(null)以從中刪除背景顏色。 在其他塊,你也應該刪除從綠色correcto -按鈕( setForeground(null)來表示一個改變以一個虛假的答案。

請注意,Swing 要求您在更改的 UI 元素上調用repaint() ,以確保重繪它,否則只會在特定事件導致 UI 重繪(例如JFrame大小的更改)后重繪。

作為側面的提示,您應該為您的變量找到更多符合條件的名稱。 您選擇的那些很難閱讀,因為它們實際上都是相同的,但是對於某些單個字符或數字。 例如,您的模式可以命名為p_correctEdu和另一個p_correctCom

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM