필자는 최종 결론을 내 교수가 강조한 점 중 하나는 ComboBoxes입니다. 나는 이미 숙제를 마쳤는데, 나는 또한 여기를 통해 질문으로 올렸고 나는 그것을 이해한다. 그는 우리가이 패턴을 따르길 원합니다 : ComboBox code correct?.ComboBox에 대한 자세한 정보
지금 나는 자신의 연습을 위해 다른 문제를 조사하기 시작했고 약간의 문제가 발생했습니다. 그것은 나의 숙제와 비슷하지만 더 많은 것을 가지고 있습니다. 질문 :
대학이 다음과 같은 기숙사 :
- 앨런 홀 : 학기 당 $ 1,500
- 파이크 홀 : 학기 당 $ 1,600
- 아버지가 홀 : 학기 당 $ 1,200
- 대학 스위트 : $ 1,800
의 다음 식사 계획 : 주
- 7 식사 : $ (560) 홍보 학기 주당
- 14 식 : $ 1,095
- 무제한 식사 : 학기 당 $ 1,800
2를 사용하여 응용 프로그램 만들기
ComboBox
es. 하나는 기숙사의 이름을 잡고 다른 하나는 식사 계획을 보유해야합니다 . 사용자는 기숙사와 식사 계획 을 선택해야하며 신청서에 총 요금이 표시되어야합니다.
나는 몇 가지 코드를 작성하기 시작했다,하지만 난뿐만 아니라, 그에 대한 별도의 ActionListener
과 "계산"버튼을 만드는 방법을 다음 하나의 오른쪽 다른 후 2 콤보 상자를 넣어하는 방법을 잘 모르겠어요 .
다음은 코드입니다. 나는 그것이 엉망이라는 것을 안다. 누구든지 올바르게 이것을 쓰는 방법을 보여줄 수 있습니까? 나는 다만 준비되고 싶다. 저와 견뎌내셔서 인내심과 협조에 감사드립니다. 내 코드 (컴파일러가 빨간색 와서 어디 코드의 부분에 4 ****
놓을 게요) :
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class DormAndMealPlanCalc extends JFrame
{
private JPanel dormPanel;
private JPanel selectedDormPanel;
private JComboBox DormBox;
private JLabel label;
private JTextField selectedDorm;
private String[] dorm = {"Allen Hall: $1,500 per semester","Pike Hall: $1,100 per" +
"semester","Fathering Hall: 1,200 per semester","Universty Suites: $1,800"};
public void ComboBoxWindow1()
{
**super("Dorm plan");** wrong placement?
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
buildDormPanel();
**buildSelectedDormPanel;** Variable error
add(dormPanel,BorderLayout.CENTER);
add(selectedDormPanel, BorderLayout.SOUTH);
pack();
setVisible(true);
}
private void buildDormPanel()
{
dormPanel = new JPanel();
DormBox = new JComboBox(dorm);
DormBox.addActionListener(new ComboBoxListener());
dormPanel.add(DormBox);
}
private void buildSelectedDormPanel()
{
selectedDormPanel = new JPanel();
label = new JLabel("You selected: ");
selectedDorm = new JTextField(10);
selectedDorm.setEditable(false);
selectedDormPanel.add(label);
selectedDormPanel.add(selectedDorm);
}
private class ComboBoxListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String selection = (String) DormBox.getSelectedItem();
selectedDorm.setText(selection);
}
}
public void main(String[] args)
{
**new ComboBoxWindow2();**
}
}
private JPanel mealPanel;
private JPanel selectedMealPanel;
private JComboBox MealBox;
private JLabel label1;
private JTextField selectedMeal;
private JButton calcbutton;
private String[] Meal = {"7 meals per week: $560 per semester","14 meals per week:" +
"$1,095 per semester","Unlimited meals: $1,500 per semester"};
public void ComboBoxWindow()
{
**super("Meal plan");**
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
buildMealPanel();
**BuildselectedMealPanel;** variable problem
add(mealPanel,BorderLayout.CENTER);
add(selectedMealPanel, BorderLayout.SOUTH);
pack();
setVisible(true);
}
private void buildMealPanel()
{
mealPanel = new JPanel();
MealBox = new JComboBox(meal);
MealBox.addActionListener(new ComboBoxListener());
mealPanel.add(MealBox);
**calcbutton = new JButton("Calculate");** syntax/token error
}
calacbutton.addActionListener(new calcbuttonListener);
private void buildSelectedMealPanel()
{
selectedMealPanel = new JPanel();
label = new JLabel("You selected: ");
selectedMeal = new JTextField(10);
selectedMeal.setEditable(false);
selectedMealPanel.add(label);
selectedMealPanel.add(selectedDorm);
}
private class ComboBoxListener1 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String str;
String selection = (String) DormBox.getSelectedItem();
selectedDorm.setText(selection);
**JOptionPane.showMessageDialog('Total is' + dorm + meal);** argument error
}
}}
** 힌트 : ** 스윙 양식에 콤보 상자 이상을 정의 할 수 있습니다. 첫 번째 콤보 상자의 작업을 복제하고 다른 데이터 드롭 다운 목록을 사용하고 콤보 상자의 이름을 변경하십시오. –
과제 질문에 [tag : homework] 태그를 추가하는 것을 잊지 마십시오. –