[英]RadioButton cannot be resolved - how do I initialize the buttons?
I am using a simple radiobutton group. 我正在使用一个简单的单选按钮组。 Yet I can not figure out how to initialize the radiobuttons so that I can add them to an if statement.
但是我不知道如何初始化单选按钮,以便可以将它们添加到if语句中。
I create the buttons as so: 我这样创建按钮:
JRadioButton rdbtn_speed1 = new JRadioButton("Speed 1");
rdbtn_speed1.setSelected(true);
buttonGroup_1.add(rdbtn_speed1);
rdbtn_speed1.setBounds(10, 91, 97, 23);
frame.getContentPane().add(rdbtn_speed1);
Then later try: 然后再尝试:
if(rdbtn_speed1.isSelected()){
System.out.println("1");
}
else if(rdbtn_speed2.isSelected()){
System.out.println("2");
}
But this does not work because it cannot find the rdbtns. 但这是行不通的,因为它找不到rdbtns。 (ie: rdbtn_speed1 cannot be resolved) I must need to re declare them but nothing that I have found so far shows this.
(即:rdbtn_speed1无法解析)我必须重新声明它们,但到目前为止我所发现的都没有显示出来。 What am I missing guys?
我想念谁?
Here is the full set: 这是全套:
public class Frame1 { 公共类Frame1 {
private JFrame frame;
private JTextField Customer_ID;
private JTextField Destination;
private final ButtonGroup buttonGroup_1 = new ButtonGroup();
/**
* Launch the application.
*/
public static void main(String[] args) throws ClassNotFoundException,SQLException{
Class.forName("com.mysql.jdbc.Driver");
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Frame1 window = new Frame1();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Frame1() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JButton btnClickMe = new JButton("Click Me!");
btnClickMe.setBounds(10, 218, 414, 32);
btnClickMe.setFont(new Font("Palatino Linotype", Font.BOLD, 29));
btnClickMe.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
submitSQL();
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
frame.getContentPane().add(btnClickMe);
JLabel lblNewLabel = new JLabel("Shipment Information Input:");
lblNewLabel.setForeground(Color.BLACK);
lblNewLabel.setFont(lblNewLabel.getFont().deriveFont(lblNewLabel.getFont().getStyle() | Font.BOLD));
lblNewLabel.setBounds(10, 11, 226, 20);
frame.getContentPane().add(lblNewLabel);
JLabel lblFirstName = new JLabel("Customer ID:");
lblFirstName.setBounds(10, 42, 103, 14);
frame.getContentPane().add(lblFirstName);
Customer_ID = new JTextField();
Customer_ID.setBounds(107, 39, 86, 20);
frame.getContentPane().add(Customer_ID);
Customer_ID.setColumns(10);
Destination = new JTextField();
Destination.setBounds(107, 60, 86, 20);
frame.getContentPane().add(Destination);
Destination.setColumns(10);
JLabel lblSendingLocation = new JLabel("Destination:");
lblSendingLocation.setBounds(10, 63, 87, 14);
frame.getContentPane().add(lblSendingLocation);
JRadioButton rdbtn_speed1 = new JRadioButton("Speed 1");
rdbtn_speed1.setSelected(true);
buttonGroup_1.add(rdbtn_speed1);
rdbtn_speed1.setBounds(10, 91, 97, 23);
frame.getContentPane().add(rdbtn_speed1);
JRadioButton rdbtn_speed2 = new JRadioButton("Speed 2");
buttonGroup_1.add(rdbtn_speed2);
rdbtn_speed2.setBounds(10, 117, 87, 23);
frame.getContentPane().add(rdbtn_speed2);
JRadioButton rdbtn_speed3 = new JRadioButton("Speed 3");
buttonGroup_1.add(rdbtn_speed3);
rdbtn_speed3.setBounds(10, 143, 87, 23);
frame.getContentPane().add(rdbtn_speed3);
JCheckBox chckbx_international = new JCheckBox("International");
chckbx_international.setBounds(107, 87, 97, 23);
frame.getContentPane().add(chckbx_international);
JCheckBox chckbxOversize = new JCheckBox("Oversized");
chckbxOversize.setBounds(107, 117, 97, 23);
frame.getContentPane().add(chckbxOversize);
JCheckBox chckbx_Hazard = new JCheckBox("Hazardous ");
chckbx_Hazard.setBounds(107, 143, 97, 23);
frame.getContentPane().add(chckbx_Hazard);
}
public void submitSQL() throws ClassNotFoundException,SQLException{
String connectionURL = "jdbc:mysql://localhost:3306/projecttest?autoReconnect=true&useSSL=false";
Connection connection = DriverManager.getConnection(connectionURL, "root", "");
Statement statement = connection.createStatement();
//Table Creation
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println(dtf.format(now)); //2016/11/16 12:08:43
String CID = Customer_ID.getText();
String PDestination = Destination.getText();
if(rdbtn_speed1.isSelected()){
System.out.println("1");
}
else if(rdbtn_speed2.isSelected()){
System.out.println("2");
}
//String insertintosql = "insert into shipment (ShipName, ShipDate) VALUES ('"+name+"','"+dtf.format(now)+"');";
//statement.executeUpdate(insertintosql);
connection.close();
}
} }
rdbtn_speed1
is only valid inside the initialize
method, because that is where it is declared. rdbtn_speed1
仅在initialize
方法内有效,因为它是在此处声明的。
If you wish for it to be used across methods, you should declare it at the class level. 如果希望跨方法使用它,则应在类级别声明它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.