Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 01.08.2012
Сообщений: 3
1

Не могу разобраться с JComboBox

01.08.2012, 21:42. Показов 2929. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно,вот мой класс:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
package myframe2;
 
/**
 *
 * @author PakZ
 */
import com.mysql.jdbc.Statement;
import java.awt.*;
import java.awt.event.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.*;
 
public class Spisok extends JFrame {
protected String bt1;
private static int money;
private static ResultSet rs;
private static int newMoney=0;
private Statement str;
private int count1 = 5;
private String item;
 
    public Spisok() {
 
        super("Список товаров");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setSize(300, 300);
        String[] items = {
            "Skype "+count1+"$ ваунчер","Skype "+count1+"$ ваунчер"
 
        };
 
        Container content = getContentPane();
 
        content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));
 
final JButton bt = new JButton("Вы пока не выбрали товар :)");
                bt.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt1=bt.getText();
                new PopupMenu(bt1);
 
            }
        });
        
 
                  JLabel lb1 = new JLabel("       ");
                lb1.setAlignmentX(CENTER_ALIGNMENT);
                lb1.setBounds(10, 30, 30, 30);
                content.add(lb1);
 
                JLabel lb2 = new JLabel("Выберете товар из списка!");
                lb2.setAlignmentX(CENTER_ALIGNMENT);
                lb2.setBounds(10, 30, 30, 30);
                content.add(lb2);
 
        ActionListener actionListener = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JComboBox box = (JComboBox)e.getSource();
                        item = (String)box.getSelectedItem();
                       bt.setText("Заказать "+item+"!");
                               bt.setAlignmentX(CENTER_ALIGNMENT);
                               add(bt);
            }
        };
 
        JComboBox comboBox = new JComboBox(items);
        comboBox.setAlignmentX(CENTER_ALIGNMENT);
        comboBox.addActionListener(actionListener);
        content.add(comboBox);
 
        setPreferredSize(new Dimension(240, 340));
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
 
                JLabel lb3 = new JLabel("       ");
                lb3.setAlignmentX(CENTER_ALIGNMENT);
                content.add(lb3);
 
                JLabel count = new JLabel ("Введите количество товара");
                count.setAlignmentX(CENTER_ALIGNMENT);
                content.add (count);
 
                JTextField txtcount = new JTextField ("1");
                txtcount.setAlignmentX(CENTER_ALIGNMENT);
                txtcount.setBounds(10, 10, 100, 30);
                content.add (txtcount);
 
                JLabel lb4 = new JLabel("       ");
                lb4.setAlignmentX(CENTER_ALIGNMENT);
                content.add(lb4);
 
                JLabel cardnumber = new JLabel("Введите номер своей карты");
                cardnumber.setAlignmentX(CENTER_ALIGNMENT);
                content.add(cardnumber);
 
                final JTextField txtcardnumber = new JTextField("");
                txtcardnumber.setAlignmentX(CENTER_ALIGNMENT);
                content.add(txtcardnumber);
 
                JLabel lb5 = new JLabel("       ");
                lb5.setAlignmentX(CENTER_ALIGNMENT);
                content.add(lb5);
 
                 JLabel pin = new JLabel("Введите пин-код своей карты");
                pin.setAlignmentX(CENTER_ALIGNMENT);
                content.add(pin);
 
                final JTextField txtpin = new JTextField("");
                txtpin.setAlignmentX(CENTER_ALIGNMENT);
                content.add(txtpin);
 
                JLabel lb6 = new JLabel("       ");
                lb6.setAlignmentX(CENTER_ALIGNMENT);
                content.add(lb6);
 
                JButton resume = new JButton("Рассчитать стоимость!");
                resume.setAlignmentX(CENTER_ALIGNMENT);
                content.add (resume);
                resume.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
             try {
    String testString = "txtcount.getText()";
    money = Integer.valueOf(testString);
    BaseConnect. makeConnection();
    str=(Statement)BaseConnect.conn.createStatement();
    money=money*count1;
      str.executeQuery("select money from client where cardnumber=('"+txtcardnumber.getText()+" add pin =('"+txtpin.getText()+"')");
            if(rs.next()){
            newMoney=rs.getInt(1)-money;
            }
    JLabel result=new JLabel(" ");
    result.setAlignmentX(CENTER_ALIGNMENT);
    result.setText("Сумма в размере "+newMoney+" долларов будет снята с вашего счета. Сумма покупки составляет "+money+"$!");
    add (result);
                } catch (SQLException ex) {
 
                    System.out.println("Ошибка занесения значений в таблицу "+ex);
        }
            }
        });
 
         JLabel lb = new JLabel("       ");
                lb.setAlignmentX(CENTER_ALIGNMENT);
                lb.setBounds(10, 30, 30, 30);
                content.add(lb);
 
        
 
 
    }
 
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame.setDefaultLookAndFeelDecorated(true);
                new Spisok();
            }
        });
    }
}
1 вопрос - как вывести кнопку bt после выбора определённого значения из списка?
2 вопрос - как убрать выбор первого значения в списке? Ну,т.е что бы при открытии небыло ничего выбрано. Что-то типо "----"
3 вопрос - почему у меня при каждом открытии изменяется размер окна,как его зафиксировать (240x340)
4 вопрос - как назначить действие при нажатии на каждый из объектов из выпадающего списка? (а именно привязка цены по выбору объекта)
5 вопрос (последний )- почему вылетают ошибки при рассчёте стоимости? А именно там где
Java
1
2
String testString = "txtcount.getText()";
    money = Integer.valueOf(testString);
Т.е идет конвертация в int

Огромное спасибо за ответы!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.08.2012, 21:42
Ответы с готовыми решениями:

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива...

Не могу создать JComboBox
В общем выдает ошибку Cannot resolve symbol 'jComboBox1' Все остальное работает исправно ...

Не могу разобраться разобраться с кодом меню
Добрый день. Я понимаю, что тут все, наверное, элементарно. Но я только начала изучение js и пока...

Приветствую, не могу разобраться с кодом программы и не могу сделать .obj файл
.model tiny; нужно будет получить исполняемый файл формата СОМ .code org 100h start: mov ax,...

3
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.08.2012, 13:32 2
Цитата Сообщение от PakZ Посмотреть сообщение
5 вопрос (последний )- почему вылетают ошибки при рассчёте стоимости? А именно там где
Java
1
2
String testString = "txtcount.getText()";
    money = Integer.valueOf(testString);
Т.е идет конвертация в int
Простите, Вы реально хотите сконвертировать строку "txtcount.getText()" в число? И какое же число Вы хотите из этой строки получить?
0
0 / 0 / 0
Регистрация: 01.08.2012
Сообщений: 3
02.08.2012, 13:34  [ТС] 3
Цитата Сообщение от Skipy Посмотреть сообщение
Простите, Вы реально хотите сконвертировать строку "txtcount.getText()" в число? И какое же число Вы хотите из этой строки получить?
Ну я ввожу в строке количество,допустим "1". Это же string,а мне его нужно сконвертировать в int для рассчета общей суммы...
0
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.08.2012, 13:41 4
Цитата Сообщение от PakZ Посмотреть сообщение
2 вопрос - как убрать выбор первого значения в списке? Ну,т.е что бы при открытии небыло ничего выбрано. Что-то типо "----"
setSelectedItem(null) или setSelectedIndex(-1). Документация рулит:

http://docs.oracle.com/javase/... ang.Object)
http://docs.oracle.com/javase/... dIndex(int)

3 вопрос - почему у меня при каждом открытии изменяется размер окна,как его зафиксировать (240x340)
Потому что pack устанавливает размер окна по предпочтительному размеру компонент внутри. А эти размеры зависят от содержимого.

Для фиксации используется setSize(int, int)

4 вопрос - как назначить действие при нажатии на каждый из объектов из выпадающего списка? (а именно привязка цены по выбору объекта)
Хранить в списке объекты, содержащие цену и название элемента. Название выводите через toString(), тогда элемент будет отображаться в списке нормально. У выбранного получаете цену.

Более сложный, но правильный вариант - хранение объектов и использование CellRenderer-ов.

Цитата Сообщение от PakZ Посмотреть сообщение
Ну я ввожу в строке количество,допустим "1". Это же string,а мне его нужно сконвертировать в int для рассчета общей суммы...
А какое отношение имеет то, что Вы вводите в поле, к строке??? Вы же не значение поля получаете! Вы СТРОКУ прописали. Чтобы получать значение, нужно кавычки убрать, тогда это будет не строка, а вызов метода на объекте txtcount!
1
02.08.2012, 13:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2012, 13:41
Помогаю со студенческими работами здесь

Не могу написать комментарии для функции поиска, не могу разобраться...
void __fastcall TForm1::FindDialog1Find(TObject *Sender) { int found, start, end; //...

Не могу найти ошибку!! не могу не как разобраться! надо до завтра.
условие: Для 7 человек, среди которых есть мужчины и женщины, хранятся следующие данные: имя, пол...

Не могу разобраться с If-ами. Не могу найти ошибку
Только начал знакомство с программированием. Преподаватель задал задание, написать программу в VLC...

Не могу разобраться с циклами (не могу понять как сделать так чтоб цикл считывал каждый элемент, без массива!)
Натурально число а вводится пользователем.Определить количество не нудевых цифр этого числа . Не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru