Меня зовут Авель, и я новичок в Java.Я пытаюсь создать программу, которая позволит мне вводить значения int в Jtextfields и использовать их для изменения цвета нижнего ряда моей панели.Я попытался превратить значения в поле jtext в целые.IDE говорит, что у меня нет очевидных ошибок, но я все еще не могу заставить строку изменить цвета.Я хочу понять это, прежде чем я закончу программу.Вот мой код:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class App1 extends JFrame implements ActionListener {
JPanel jp, jp1, jp2, jp3, jp4, jp5;
JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6;
JButton jbrplus, jbrneg, jbgplus, jbgneg, jbbplus, jbbneg;
int value, value1, value2;
String text, text1, text2;
public static void main(String[] args) {
App1 KF = new App1();
}
App1() {
this.setTitle("Application 1");
this.setSize(800, 600);
jp = new JPanel();
this.add(jp);
jp.setLayout(new GridLayout(2,1));
jp1 = new JPanel();
jp.add(jp1);
jp1.setLayout(new GridLayout(1, 3));
jp2 = new JPanel();
jp1.add(jp2);
jtf1 = new JTextField("RED");
jtf1.setEditable(false);
jp2.add(jtf1);
jbrplus = new JButton("+");
jp2.add(jbrplus);
jtf2 = new JTextField(" 0 ");
jtf2.setEditable(true);
jp2.add(jtf2);
jbrneg = new JButton("-");
jp2.add(jbrneg);
jp2.setBackground(Color.RED);
jp3 = new JPanel();
jp1.add(jp3);
jtf3 = new JTextField("Green");
jtf3.setEditable(false);
jp3.add(jtf3);
jbgplus = new JButton("+");
jp3.add(jbgplus);
jtf4 = new JTextField(" 0 ");
jtf4.setEditable(true);
jp3.add(jtf4);
jbgneg = new JButton("-");
jp3.add(jbgneg);
jp3.setBackground(Color.GREEN);
jp4 = new JPanel();
jp1.add(jp4);
jtf5 = new JTextField("Blue");
jtf5.setEditable(false);
jp4.add(jtf5);
jbbplus = new JButton("+");
jp4.add(jbbplus);
jtf6 = new JTextField(" 0 ");
jtf6.setEditable(true);
jp4.add(jtf6);
jbbneg = new JButton("-");
jp4.add(jbbneg);
jp4.setBackground(Color.BLUE);
jp5 = new JPanel();
jp.add(jp5);
jp5.setBackground(new Color(value, value1 , value2));
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jtf2 && e.getSource() == jtf4 && e.getSource() == jtf6) {
text = jtf2.getText();
text1 = jtf4.getText();
text2 = jtf6.getText();
value = Integer.parseInt(text);
value1 = Integer.parseInt(text1);
value2 = Integer.parseInt(text2);
jp5.setBackground(new Color(value, value1, value2));
}
}
}
Может кто-нибудь показать мне, что я делаю неправильно?