2017-11-07 20 views
0

3つのJTextField、ボタン、およびページの中央にあるラベルを持つJFrameを作成しました。ユーザーが3つのテキストフィールドのすべてに「a」と入力してボタンを押すと、ラベル内のテキストの色が赤などの別の色に変わるようなキーを作成します。JTextfieldとJButton

私が持っている主な問題は、テキストフィールドとボタンがリンクされていて、一緒に働くことです。

import java.awt.BorderLayout; 
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.JLabel; 
import javax.swing.JOptionPane; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 



public class CE203_2017_Ex1 extends JFrame 

{ 
    public static void window() 
     { 
      //Button 
      JButton but = new JButton("Submit"); 
      //JNumberTextField 
      JTextField rgb1 = new JTextField("",3); 
      JTextField rgb2 = new JTextField("",3); 
      JTextField rgb3 = new JTextField("",3); 
      //JLabel 
      JLabel text1 = new JLabel("hello my name is adam ", JLabel.CENTER); 
      text1.setForeground(Color.BLUE); 
      text1.setAlignmentX(0); 
      text1.setAlignmentY(0); 
      //JFrame 
      JFrame window1 = new JFrame("Adam"); 
      window1.setVisible(true); 
      window1.setSize(500,500); 
      window1.add(text1); 
      //JPanel 
      JPanel butPanel = new JPanel(); 
      butPanel.add(rgb1); 
      butPanel.add(rgb2); 
      butPanel.add(rgb3); 
      butPanel.add(but); 

      window1.add(butPanel, BorderLayout.SOUTH); 
      window1.add(text1); 

はここでボタンあなたがオブジェクトではないテキストフィールドにテキスト値をテストしたい

but.addActionListener(new ActionListener(){ 

       public void actionPerformed(ActionEvent e) { 
        JTextField input = (JTextField) e.getSource(); 
        String passy = input.getText(); 
        String p = new String (passy); 

        if (rgb1.equals("a")&& rgb2.equals("a")&& rgb3.equals("a")){ 
         text1.setForeground(Color.WHITE); 
        } 
        else{ 
         JOptionPane.showMessageDialog(null, "nocorrect");}}}); 
      } 
    public static void main(String[] args) 
     { 
      window(); 

     } 
} 
+0

コードを間違ってコピーしましたか?主なメソッドはActionListener内にあり、window()メソッドは不完全です – user

答えて

0

のための私のActionListenerです。

if (rgb1.getText().equals("a")&& rgb2.getText().equals("a")&& rgb3.getText().equals("a")) { 
    text1.setForeground(Color.WHITE); 
} 
関連する問題