0
String Builder로 만든 객체를 JOptionPane 윈도우에 표시하는 방법을 알아 내려고합니다. 지금은 문자열 작성기로 만든 2 개의 문자열을 인식하지 못합니다. 나는 뭔가를 놓친다. JOptionPane 윈도우에 2 개의 문자열 sb 및 ssb를 표시하려면 어떻게해야합니까? 나는 곤두박질 친다.JOptionPane에 내가 작성한 StringBilder를 사용하려면 어떻게해야합니까?
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class CarSelector extends JFrame implements ActionListener, ItemListener{
JButton submit = new JButton("Submit");
JLabel label1 = new JLabel("Select Vehicle type and options");
JLabel carLabel = new JLabel("Vehicle Type");
JLabel options = new JLabel("Options");
ButtonGroup group = new ButtonGroup();
JRadioButton carRadio = new JRadioButton("Car", true);
JRadioButton vanRadio = new JRadioButton("Minivan");
JRadioButton truckRadio = new JRadioButton("Pickup Truck");
JRadioButton suvRadio = new JRadioButton("SUV");
JCheckBox leather = new JCheckBox("Leather Seats");
JCheckBox ac = new JCheckBox("Air Conditioning");
JCheckBox sat = new JCheckBox("Sattelite Radio");
JCheckBox warmer = new JCheckBox("Seat Warmers");
String optionsSelected;
String carSelected;
ActionListener listen = new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(
CarSelector.this, sb + ssb);
}
};
CarSelector(){
super("Vehicle Selector");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 300);
CarGUI();
}
public void CarGUI(){
JPanel vehicleTypes = new JPanel();
JPanel carOptions = new JPanel();
JPanel submitButton = new JPanel();
submit.addActionListener(listen);
add(submitButton);
submitButton.setLayout(new BoxLayout(submitButton, BoxLayout.X_AXIS));
submitButton.setBounds(100, 150, 100, 100);
add(vehicleTypes);
vehicleTypes.setLayout(new BoxLayout(vehicleTypes, BoxLayout.Y_AXIS));
vehicleTypes.setBounds(150,0,125,125);
add(carOptions);
carOptions.setLayout(new BoxLayout(carOptions, BoxLayout.Y_AXIS));
vehicleTypes.add(carLabel);
vehicleTypes.add(carRadio);
vehicleTypes.add(vanRadio);
vehicleTypes.add(truckRadio);
vehicleTypes.add(suvRadio);
group.add(carRadio);
group.add(vanRadio);
group.add(truckRadio);
group.add(suvRadio);
carOptions.add(options);
carOptions.add(leather);
carOptions.add(ac);
carOptions.add(sat);
carOptions.add(warmer);
submitButton.add(submit);
setVisible(true);
}
public void radioAction(){
StringBuilder sb = new StringBuilder();
sb.append("You have chosen a ");
if (carRadio.isSelected()){
sb.append(" Car ");
}
else if(vanRadio.isSelected()){
sb.append(" Minivan ");
}
else if(truckRadio.isSelected()){
sb.append(" Pickup Truck ");
}
else if(suvRadio.isSelected()){
sb.append(" SUV ");
}
}
public void checkAction(){
StringBuilder ssb = new StringBuilder();
ssb.append(" with these options: ");
if (leather.isSelected()){
ssb.append(" Leather Seats, ");
}
if (ac.isSelected()){
ssb.append(" Air Conditioning, ");
}
if (sat.isSelected()){
ssb.append(" Sattelite Radio, ");
}
if (warmer.isSelected()){
ssb.append(" Seat Warmers, ");
}
}
@Override
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void itemStateChanged(ItemEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
A [로컬 및 멤버 변수의 차이]가를 (http://www.cafeaulait.org/course/week3/11.html). 'sb'와'ssb'는 지역 변수입니다. – user3151902
나는 그것이 문제라고 느꼈지만, 나는 그것을 알아낼 수 없었다. 도와 주셔서 감사합니다. –