[英]How do I change the background color in java using a checkbox?
I want to change the color of the java program through a checkbox.I have been working on this program, and these are just final steps to success.I dont wanna add more details.dfftwe5trtwtrewghdsgrteegytehyedtnhtfdbeghd.我想通过复选框更改java程序的颜色。我一直在研究这个程序,这些只是成功的最后一步。我不想添加更多细节。dfftwe5trtwtrewghdsgrteegytehyedtnhtfdbeghd。
here is what I currently have :这是我目前拥有的:
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JCheckBox;
import javax.swing.JRadioButton;
import javax.swing.JCheckBox;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
* Write a description of class GUI here.
*
* @author Ibrahim Y. Hmood
* @version 04.02.14
*/
public class GUI extends JFrame implements ActionListener {
/**
* Identify the components for the window
*/
JPanel contentPane;
JLabel lblLastName;
JLabel lblFirstName;
JLabel lblStudentID;
JTextField txtLastName;
JTextField txtFirstName;
JTextField txtStudentID;
JButton btnSubmit;
JLabel lblStoreFirstName;
JLabel lblStoreLastName;
JLabel lblStoreStudentID;
JTextField txtStorestudentID;
JTextArea txaAll;
JCheckBox chkBox1;
CheckBoxListener myListener = null;
JCheckBox chkBox2;
JCheckBox chkBox3;
/**
* Constructor for objects of class GUI
*/
public GUI()
{
/**
* Create the panel, its components and add them to the panel
*/
contentPane = new JPanel (null);
lblLastName = new JLabel ("Enter Last Name");
lblFirstName = new JLabel ("Enter First Name");
lblStudentID = new JLabel ("Enter Student ID");
txtLastName = new JTextField ();
txtFirstName = new JTextField();
txtStudentID = new JTextField();
btnSubmit = new JButton ("Submit Info");
lblStoreFirstName = new JLabel ();
lblStoreLastName = new JLabel ();
lblStoreStudentID = new JLabel ();
txaAll= new JTextArea ();
chkBox1 = new JCheckBox ("Check box one");
chkBox1.setBounds(200,180,150,20);
chkBox2 = new JCheckBox ("Check box 2");
chkBox2.setBounds(200,200,150,20);
chkBox3 = new JCheckBox ("Check box 3");
chkBox3.setBounds(200,220,150,20);
JRadioButton Label = new JRadioButton ("Check this Button");
Label.setBounds(20,180,150,20);
JRadioButton Label1 = new JRadioButton ("Check this button, too");
Label1.setBounds (20,200,150,20);
JRadioButton Label2 = new JRadioButton ("Don't forget to check this button,too");
Label2.setBounds (20,220,150,20);
JRadioButton Label3 = new JRadioButton ("Color change");
Label3.setBounds(20,240,150,20);
lblLastName.setBounds(25, 25, 590, 20);
lblFirstName.setBounds (25, 65,590, 20);
lblStudentID.setBounds (25, 105,590, 20);
txtLastName.setBounds(140,25,150,20);
txtFirstName.setBounds(140,65,150,20);
txtStudentID.setBounds(140,105,150,20);
txaAll.setBounds(140,345,250,250);
btnSubmit.setBounds(100, 130, 250 ,20);
lblStoreFirstName.setBounds(200,200,150,20);
lblStoreLastName.setBounds(200, 240, 150, 20);
lblStoreStudentID.setBounds(200,260, 150, 20);
contentPane.add(lblLastName);
contentPane.add(lblFirstName);
contentPane.add(lblStudentID);
contentPane.add(txtLastName);
contentPane.add(txtFirstName);
contentPane.add(txtStudentID);
contentPane.add(lblStoreFirstName);
contentPane.add(lblStoreLastName);
contentPane.add(lblStoreStudentID);
contentPane.add(txaAll);
contentPane.add(Label);
contentPane.add(Label1);
contentPane.add(Label2);
contentPane.add(Label3);
contentPane.add(chkBox2);
contentPane.add(chkBox3);
myListener = new CheckBoxListener();
chkBox1.addItemListener(new CheckBoxListener());
contentPane.add(chkBox1);
chkBox1.setActionCommand("checkbox1");
chkBox1.addActionListener(this);
contentPane.add(chkBox1);
chkBox2.setActionCommand ("");
btnSubmit.setActionCommand("Submit");
btnSubmit.addActionListener(this);
contentPane.add(btnSubmit);
setTitle("GUI");
setContentPane(contentPane);
setLocation(0,0);
setSize(600,600);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class CheckBoxListener implements ItemListener{
public void itemStateChanged (ItemEvent e)
{
Object source = e.getSource(); {
if (source == chkBox1 ) {
if (e.getStateChange() == ItemEvent.SELECTED)
txaAll.setBackground(Color.green);
}
}
}
}
@Override
public void actionPerformed(ActionEvent e) {
if ("Submit".equals(e.getActionCommand())) {
btnSubmit.setBackground(Color.red);
btnSubmit.setBackground(Color.cyan);
String lastname = txtLastName.getText();
String firstname = txtFirstName.getText();
String studentID = txtStudentID.getText();
String str = txaAll.getText();
str+= firstname + "\t" + lastname + "\t" + studentID + "\n";
lblStoreLastName.setText(lastname);
lblStoreFirstName.setText (firstname);
lblStoreStudentID.setText (studentID);
txaAll.setText(str);
}
}
}
If you want to change the JFrame
color when you saying the program color , then you could do the following:如果您想在说程序颜色时更改JFrame
颜色,那么您可以执行以下操作:
if (source == chkBox1) {
if (e.getStateChange() == ItemEvent.SELECTED) {
txaAll.getParent().setBackground(Color.blue);
}
} else if(source == chkBox2) {
//set the color you want
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.