Загвоздка по JComboBox - Java
Формулировка задачи:
Приветствую коллеги!
Пишу программу для заполнения формы документа. Реализовал вывод данных на форму документа из фрейма для заполнения, но возникла задача с JComboBox так как на документ выводится данные находящиеся в начале списка и выбор пользователя совершенно не влияет на вывод данных из JCB(выводится только первый элемент в списке).
Пожалуйста помогите разобраться...
public class CreateForm extends JFrame implements ActionListener { SpringLayout sl = new SpringLayout(); JPanel panel = new JPanel(sl); JLabel jlFormSp; // форма справки JButton searchJB; JComboBox jtFormSp; // форма справки JLabel jlNumberSp; // номер справки JTextField jtNumberSp; // номер справки JCheckBox jCBox; //автомат номера справки JLabel jlDateSp; // дата справки String[] days = {"01","02","03","04","05","06","07","08","09","10", "11","12","13","14","15","16","17","18","19","20", "21","22","23","24","25","26","27","28","29","30","31"}; String [] months = {"января", "февраля", "марта", "апреля","мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"}; String[] forms = {"1","2","3"}; String[] wFromSp = {"первой форме", "второй форме", "третьей форме"}; String[] litFormSp = {"А/","Б/","Д/"}; JComboBox<?> daysJCB; // список дней JComboBox<?> monthsJCB; // список месяцев JTextField yearsJTF; // поле год JTextField secondNameJTF; // Фамилия JLabel secondNameJL; // Фамилия JTextField nameJTF; // Имя JLabel nameJL; //Имя JTextField fatherNameJTF; // Отчество JLabel fatherNameJL; // Отчество JLabel numDopJL; // Номер допуска JTextField numDopJTF; // Номер допуска JLabel whatDateJL; JComboBox<?> whatDateDayJCB; JComboBox<?> whatDateMonthJCB; JTextField whatDateYearJTF; JLabel whatDateAcceptJL; JComboBox<?> whatDateAcceptDayJCB; JComboBox<?> whatDateAcceptMonthJCB; JTextField whatDateAcceptYearJTF; JLabel whatFinDateJL; JComboBox<?> whatFinDateDayJCB; JComboBox<?> whatFinDateMonthJCB; JTextField whatFinDateYearJTF; JLabel whatFormSpJL; JComboBox<?> whatFormSpJCB; JComboBox<?> litDopJCB; String formSpCF; String whatFormSpCF; String numberSpCF; String daysSpCF; String monthsSpCF; String litDopCF; String whatDaysDopCF; String whatMonthsDopCF; String wDateAcceptDayCF; String wDateAcceptMonthCF; String wDateFinDayCF; String wDateFinMonthCF; public CreateForm(String string) { setSize(1000, 800); setLocation(200, 200); panel.setSize(100, 50); panel.add(jlFormSp = new JLabel("Форма справки")); panel.add(jlNumberSp = new JLabel("Номер справки")); panel.add(jtFormSp = new JComboBox (forms)); // форма справки panel.add(jtNumberSp = new JTextField (4)); // номер справки panel.add(jCBox = new JCheckBox("Автоматически")); jCBox.setEnabled(true); // автомат номера справки panel.add(jlDateSp = new JLabel("Дата создания справки")); panel.add(daysJCB = new JComboBox<Object>(days)); // дни даты panel.add(monthsJCB = new JComboBox<Object>(months)); // месяцы даты panel.add(yearsJTF = new JTextField(4)); panel.add(secondNameJTF = new JTextField(20)); panel.add(secondNameJL = new JLabel("Фамилия")); panel.add(nameJTF = new JTextField(20)); panel.add(nameJL = new JLabel("Имя")); panel.add(fatherNameJTF = new JTextField(20)); panel.add(fatherNameJL = new JLabel("Отчество")); panel.add(searchJB = new JButton("Создать форму")); panel.add(numDopJL = new JLabel("Номер допуска")); panel.add(numDopJTF = new JTextField(10)); panel.add(whatDateJL = new JLabel("от...")); panel.add(whatDateDayJCB = new JComboBox<Object>(days)); panel.add(whatDateMonthJCB = new JComboBox<Object>(months)); panel.add(whatDateYearJTF = new JTextField(5)); panel.add(whatDateAcceptJL = new JLabel("Дата утверждения")); panel.add(whatDateAcceptDayJCB = new JComboBox(days)); panel.add(whatDateAcceptMonthJCB = new JComboBox<Object>(months)); panel.add(whatDateAcceptYearJTF = new JTextField(5)); panel.add(whatFinDateJL = new JLabel("Дата окончания справки")); panel.add(whatFinDateDayJCB = new JComboBox<Object>(days)); panel.add(whatFinDateMonthJCB = new JComboBox<Object>(months)); panel.add(whatFinDateYearJTF = new JTextField(5)); panel.add(whatFormSpJCB = new JComboBox<Object>(wFromSp)); panel.add(whatFormSpJL = new JLabel("создать справку по ...")); panel.add(litDopJCB = new JComboBox<Object>(litFormSp)); sl.putConstraint(SpringLayout.WEST, jlFormSp, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, jlFormSp, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, jtFormSp, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, jtFormSp, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, jlNumberSp, 50, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, jlNumberSp, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, jtNumberSp, 50, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, jtNumberSp, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, jCBox, 90, SpringLayout.WEST,panel); sl.putConstraint(SpringLayout.WEST, jCBox, 350, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, jlDateSp, 90, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, jlDateSp, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, daysJCB, 90, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, daysJCB, 160, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, monthsJCB, 90, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, monthsJCB, 210, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, yearsJTF, 90, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, yearsJTF, 300, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, secondNameJL, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, secondNameJL, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, secondNameJTF, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, secondNameJTF, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, nameJL, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, nameJL, 170, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, nameJTF, 170, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, nameJTF, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, fatherNameJL, 210, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, fatherNameJL, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, fatherNameJTF, 210, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, fatherNameJTF, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, numDopJL, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, numDopJL, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, numDopJTF, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, numDopJTF, 180, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateJL, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateJL, 320, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateDayJCB, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateDayJCB, 360, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateMonthJCB, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateMonthJCB, 410, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateYearJTF, 500, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateYearJTF, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateAcceptJL, 245, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateAcceptJL, 300, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateAcceptDayJCB, 300, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateAcceptDayJCB,360, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateAcceptMonthJCB, 300, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateAcceptMonthJCB, 410, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatDateAcceptYearJTF, 300, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatDateAcceptYearJTF, 500, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatFinDateJL, 350, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatFinDateJL, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatFinDateDayJCB, 350, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatFinDateDayJCB, 200, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatFinDateMonthJCB, 350, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatFinDateMonthJCB, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatFinDateYearJTF, 350, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatFinDateYearJTF, 340, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatFormSpJCB, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatFormSpJCB, 320, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, whatFormSpJL, 15, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, whatFormSpJL, 190, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, litDopJCB, 250, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, litDopJCB, 130, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.NORTH, searchJB, 400, SpringLayout.WEST, panel); sl.putConstraint(SpringLayout.WEST, searchJB, 25, SpringLayout.WEST, panel); formSpCF = (String) jtFormSp.getSelectedItem(); whatFormSpCF = (String) whatFormSpJCB.getSelectedItem(); daysSpCF = (String) daysJCB.getSelectedItem(); monthsSpCF = (String) monthsJCB.getSelectedItem(); litDopCF = (String) litDopJCB.getSelectedItem(); whatDaysDopCF = (String) whatDateDayJCB.getSelectedItem(); whatMonthsDopCF = (String) whatDateMonthJCB.getSelectedItem(); wDateAcceptDayCF = (String) whatDateAcceptDayJCB.getSelectedItem(); wDateAcceptMonthCF = (String) whatDateAcceptMonthJCB.getSelectedItem(); wDateFinDayCF = (String) whatFinDateDayJCB.getSelectedItem(); wDateFinMonthCF = (String) whatFinDateMonthJCB.getSelectedItem(); searchJB.addActionListener(this); setContentPane(panel); setVisible(true); } public void actionPerformed(ActionEvent sjb) { if (sjb.getActionCommand().equals("Создать форму")){ new FillForm(this); } } }
class FillForm extends JFrame { public Image spravkaDva; SpringLayout inSL = new SpringLayout(); JPanel panel; String name; String formSp; String numberSp; String whatFromSpJCBFF; String numberSpFF; String daysSpFF; String monthsSpFF; String yearsSpFF; String secondNameFF; String fatherNameFF; String litDopFF; String numDopFF; String wDaysDopFF; String wMonthsDopFF; String wYearsDopFF; String wAcceptDayFF; String wDateAcceptMonthFF; String wDateAcceptYearFF; String wDateFinDayFF; String wDateFinMonthFF; String wDateFinYearFF; public FillForm(CreateForm form) { super ("Форма справки"); int width = 1174; int hegth = 1000; setBounds(0, 0, width, hegth); ImageIcon ii = new ImageIcon("C:/Users/User/Desktop/Java/Lesson0/src/Spravka3.jpg"); spravkaDva = ii.getImage(); panel = new ImagePanel(spravkaDva); panel.setBounds(0, 0, 400, 400); formSp = form.formSpCF; whatFromSpJCBFF = form.whatFormSpCF; daysSpFF = form.daysSpCF; monthsSpFF = form.monthsSpCF; litDopFF = form.litDopCF; wDaysDopFF = form.whatDaysDopCF; wMonthsDopFF = form.whatMonthsDopCF; wAcceptDayFF = form.wDateAcceptDayCF; wDateAcceptMonthFF = form.wDateAcceptMonthCF; wDateFinDayFF = form.wDateFinDayCF; wDateFinMonthFF = form.wDateFinMonthCF; numberSpFF = form.jtNumberSp.getText(); name = form.nameJTF.getText(); yearsSpFF = form.yearsJTF.getText(); secondNameFF = form.secondNameJTF.getText(); fatherNameFF = form.fatherNameJTF.getText(); numDopFF = form.numDopJTF.getText(); wYearsDopFF = form.whatDateYearJTF.getText(); wDateAcceptYearFF = form.whatDateAcceptYearJTF.getText(); wDateFinYearFF = form.whatFinDateYearJTF.getText(); getContentPane().add(panel); setVisible(true); } private class ImagePanel extends JPanel{ private Image img; public ImagePanel(Image img) { this.img = img; setLayout(null); } public void paintComponent(Graphics g) { g = (Graphics2D)g; g.drawImage(img, 0, 0, null); g.setFont(new Font("Times new Roman", Font.ROMAN_BASELINE, 26)); g.drawString(name, 400, 435); g.drawString(formSp, 115, 347); g.drawString(whatFromSpJCBFF, 535, 137); g.drawString(numberSpFF, 170, 347); g.drawString(daysSpFF, 94, 390); g.drawString(monthsSpFF, 200, 387); g.drawString(yearsSpFF, 370, 390); g.drawString(secondNameFF, 530, 385); g.drawString(fatherNameFF, 520, 435); g.drawString(litDopFF, 250, 490); g.drawString(numDopFF, 280, 490); g.drawString(wDaysDopFF, 480, 490); g.drawString(wMonthsDopFF, 580, 490); g.drawString(wYearsDopFF, 740, 490); g.drawString(wAcceptDayFF, 108, 515); g.drawString(wDateAcceptMonthFF, 200, 515); g.drawString(wDateAcceptYearFF, 420, 515); g.drawString(wDateFinDayFF, 330, 610); g.drawString(wDateFinMonthFF, 380, 610); g.drawString(wDateFinYearFF, 540, 610); } } }
Решение задачи: «Загвоздка по JComboBox»
textual
Листинг программы
String frm; ............ public FillForm(CreateForm form) { ........... frm = form.jtFormSp.getSelectedItem().toString(); ........... } public void paintComponent(Graphics g) { ............ g.drawString(frm, 20, 20); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д