[英]How do you use text fields as an input in Java GUI to set RGB values?
到目前为止,我已经有了这段代码,在这里我希望创建的文本字段能够接受RGB值的输入,然后当按下“更改颜色”按钮时,消息将以原本的颜色显示在框架上在文本字段中指定,例如,如果文本字段的值是红色:255,蓝色:0,绿色:0,则该颜色将是文本的颜色。
我对Java还是很陌生,因此希望我对此有所帮助。
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
FilledFrame frame = new FilledFrame(); // Create new JFrame
frame.setVisible( true ); // Set it to visible
frame.setSize(500, 500); // Set size of JFrame window
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); // Set default close operation
frame.setTitle("Change Colour"); // Set title of the JFrame window
}
}
class FilledFrame extends JFrame {
public FilledFrame()
{
JButton mainButton = new JButton("Change Color"); // Create new button
JPanel Panel = new JPanel(); // Create JPanel for the button
Panel.add(mainButton); // Add button to the JFrame
add(Panel, BorderLayout.SOUTH); // Set layout of the button to bottom of the window
JLabel label = new JLabel("Welcome"); // Create the welcome message
JPanel Panel1 = new JPanel(); // Create JPanel for the label
Panel1.add(label); // Add label to the frame
add(Panel1, BorderLayout.CENTER); // Set layout of the label to centre
label.setForeground(Color.BLUE); // Set color of the label to blue
Label red, green, blue;
TextField redT, greenT, blueT;
red = new Label("Red"); // Create label Red
green = new Label("Green"); // Create Label Green
blue = new Label("Blue"); // Create Label Blue
redT = new TextField(5); // Create text field for input for red value
greenT = new TextField(5); // Create text field for input green value
blueT = new TextField(5); // Create text field for input blue value
// Add the labels and text fields to the frame window
Panel.add(red);
Panel.add(redT);
Panel.add(blue);
Panel.add(blueT);
Panel.add(green);
Panel.add(greenT);
add(Panel, BorderLayout.SOUTH); // Set position of the labels and text fields at bottom of the window
}
}
变量名称不应以大写字母开头。 有些是正确的。 其他不是。 始终如一。
不要使用“标签”和“文本字段”。 这些是AWT组件。 在Swing应用程序中,您应该使用JLabel
和JTextField
。
您可能需要考虑使用JSpinner
,因为可以对其进行配置以确保仅输入0到255之间的数字。阅读Swing教程中有关如何使用微调器的部分。
当按下“更改颜色”按钮时
然后,您需要向按钮添加一个ActionListener。 阅读Swing教程中有关如何使用按钮的部分,以获取一个入门示例。
然后在ActionListener中,从微调器中获取值
int red = (Integer)redSpinner.getValue();
int green = (Integer)greenSpinner.getValue();
int blue = (Integer)blueSpinner.getValue();
Color color = new Color(red, green, blue);
label.setForeground( color );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.