Форум программистов, компьютерный форум, киберфорум
JavaFX
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 6
1

Как в зависимости от выбранного элемента в Combobox выводить разные текст

13.11.2017, 04:06. Показов 3335. Ответов 4
Метки нет (Все метки)

Подскажите пожалуйста, как в зависимости от выбранного элемента в Combobox выводить разный текст.
то есть выбирается например Breakfast выводиться : Breakfast текст 1
выбирается Lunch выводиться : Luncht текст 2
я как понимаю надо как то это сделать здесь:

Java
1
2
3
4
5
Button btn = new Button();
        btn.setText("Выберите меню");
        btn.setOnAction((ActionEvent event) -> {
               if (comboBox.getValue() !=null && !comboBox.getValue().toString().isEmpty()) {
                label.setText("selected: " + comboBox.getValue()+" " +"меню первое второе третье четвертое пятое шестое седьмое"+" "+q);
comboBox.getValue() то успешно передает значение в текст
а вот как именно получать разные значения
я хочу чтобы было 4 if
и в зависимости от выбора выдавался разный текст

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
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package examplecombobox;
 
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
 
/**
 *
 * @author nadezhda
 */
public class ExampleComboBox extends Application {
String q="test";
    @Override
    public void start(Stage primaryStage) {
        final ComboBox comboBox = new ComboBox();
        comboBox.getItems().addAll(
                "Breakfast",
                "Lunch",
                "Afternoon snack",
                "Dinner"
               
        );
        
        comboBox.setValue("Breakfast");
 
//       ObservableList <String> options
//              FXCollections.observableArrayList(
//                       "Monday",
//                        "Tuesday",
//                       "Wednesday",
//                       "Thursday",
//                       "Friday",
//                        "Saturday",
//                        "Sunday"
//               );
//       ComboBox comboBox = new ComboBox(options);
 
        final Label label = new Label();
 
        Button btn = new Button();
        btn.setText("Выберите меню");
        btn.setOnAction((ActionEvent event) -> {
               if (comboBox.getValue() !=null && !comboBox.getValue().toString().isEmpty()) {
                label.setText("selected: " + comboBox.getValue()+" " +"меню первое второе третье четвертое пятое шестое седьмое"+" "+q);
            
            }
        });   
              
 
 
        VBox vBox = new VBox();
        vBox.setPadding(new Insets(50, 50, 50, 50));
        vBox.setSpacing(5);
        vBox.getChildren().addAll(label, comboBox, btn);
 
        StackPane root = new StackPane();
        root.getChildren().add(vBox);
 
        Scene scene = new Scene(root, 650, 200);
 
        primaryStage.setTitle("Меню");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2017, 04:06
Ответы с готовыми решениями:

Как получить текст выбранного элемента ComboBox с иконками
Даже не знал, что заткнусь в такой элементарной ситуации. У меня простой вопрос. Хочу получить...

Изменение даты в DateTimePicker-е в зависимости от выбранного элемента ComboBox
Здравствуйте! помогите пож-та разобраться в чем ошибка!при выборе в ComboBox строки например 1...

Заполнение одного ComboBox-а в зависимости от выбранного значения в другом ComboBox-е
Можно ли сделать так, чтобы если я выбирают первый пункт в первом ComboBox1, а во втором при...

Заполнение ComboBox из БД в зависимости от выбранного значения в другом ComboBox
Т.к. я не профессионал, прошу сразу не закидывать палками )) Проблема следующая, грубо говоря на...

4
90 / 89 / 23
Регистрация: 08.07.2014
Сообщений: 548
13.11.2017, 12:20 2
Цитата Сообщение от michaelskd Посмотреть сообщение
я хочу чтобы было 4 if
и в зависимости от выбора выдавался разный текст
Ну так сделай 4 if, в чем проблема то ?
Еще можно switch заюзать.
1
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 6
13.11.2017, 15:38  [ТС] 3
да проблемы в 4 if нету я не знаю как правильно определить что нажата именно эта кнопка вернее выбрано значение в комбобокс не нашел по синтаксису
if (comboBox.getValue("Breakfast") как надо чтобы именно понимал что выбран завтрак ужин и тп в описании комбобокс не нашел это

что писать здесь если выбрано то то
Java
1
2
3
4
5
6
btn.setOnAction((ActionEvent event) -> {
               if (comboBox.getValue() !=null && !comboBox.getValue().toString().isEmpty()) {
                label.setText("selected: " + comboBox.getValue()+" " +"меню первое второе третье четвертое пятое шестое седьмое"+" "+q);
            
            }
        });
0
Эксперт Java
3049 / 2544 / 782
Регистрация: 05.07.2013
Сообщений: 12,308
13.11.2017, 15:55 4
Лучший ответ Сообщение было отмечено michaelskd как решение

Решение

как ты это написал?
Java
1
2
3
4
5
if(comboBox.getValue().equals("Breakfast")) {
                System.out.println("Breakfast");
            } else {
                System.out.println("not Breakfast");
            }
1
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 6
13.11.2017, 17:28  [ТС] 5
да спасибо сделал
как в label.setText реализовать перенос строки?
/n там не работает (
меню Завтрак второе второе третье четвертое пятое шестое седьмое
чтобы например это печаталось так
меню Завтрак второе второе третье
четвертое пятое шестое седьмое
именно не на консоли где принтлн а в label.setText

Java
1
2
3
4
  if (comboBox.getValue().equals("Breakfast")) 
            {System.out.println("Breakfast");
            
                 label.setText("selected: " + comboBox.getValue()+" " +"меню Завтрак второе второе третье четвертое пятое шестое седьмое"+" "+q);}
каким образом можно сместить вывод текста относительно кнопки комбобокс?
он по умолчанию сверху кнопки в одну строку
а я хочу его например сделать его в две строки с не большим смещением.
VBox vBox = new VBox();
vBox.setPadding(new Insets(50, 50, 50, 50));
vBox.setSpacing(5);
vBox.getChildren().addAll(label, comboBox, btn);

StackPane root = new StackPane();
root.getChildren().add(vBox);

Scene scene = new Scene(root, 650, 200)


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
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package examplecombobox;
 
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
 
/**
 *
 * @author nadezhda
 */
public class ExampleComboBox extends Application {
String q="test";
    @Override
    public void start(Stage primaryStage) {
        final ComboBox comboBox = new ComboBox();
        comboBox.getItems().addAll(
                "Breakfast",
                "Lunch",
                "Afternoon snack",
                "Dinner"
               
        );
        
        comboBox.setValue("Breakfast");
 
//       ObservableList <String> options
//              FXCollections.observableArrayList(
//                       "Monday",
//                        "Tuesday",
//                       "Wednesday",
//                       "Thursday",
//                       "Friday",
//                        "Saturday",
//                        "Sunday"
//               );
//       ComboBox comboBox = new ComboBox(options);
 
        final Label label = new Label();
 
        Button btn = new Button();
        btn.setText("Выберите меню");
        btn.setOnAction((ActionEvent event) -> {
            if (comboBox.getValue().equals("Breakfast")) 
            {System.out.println("Breakfast");
            
                 label.setText("selected: " + comboBox.getValue()+" " +"меню Завтрак второе второе третье четвертое пятое шестое седьмое"+" "+q);}
            
             if (comboBox.getValue().equals("Lunch")) 
             {System.out.println("Lunch");
                 label.setText("selected: " + comboBox.getValue()+" " +"меню Ланч первое второе третье четвертое пятое шестое седьмое"+" "+q);}
            
                if (comboBox.getValue().equals("Afternoon snack"))
                   {System.out.println("Afternoon snack");
                 label.setText("selected: " + comboBox.getValue()+" " +"меню Полдник второе второе третье четвертое пятое шестое седьмое"+" "+q);}
                
                if (comboBox.getValue().equals("Dinner"))
                {System.out.println("Dinner");
                 label.setText("selected: " + comboBox.getValue()+" " +"меню Ужин второе второе третье четвертое пятое шестое седьмое"+" "+q);
                
 
            
            }
        });   
              
 
 
        VBox vBox = new VBox();
        vBox.setPadding(new Insets(50, 50, 50, 50));
        vBox.setSpacing(5);
        vBox.getChildren().addAll(label, comboBox, btn);
 
        StackPane root = new StackPane();
        root.getChildren().add(vBox);
 
        Scene scene = new Scene(root, 650, 200);
 
        primaryStage.setTitle("Меню");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2017, 17:28

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как получить индекс выбранного элемента в ComboBox
Возникла маленькая проблемка... Есть таблица с которой считываются поля.. и при добавлении новой...

Как получить значение выбранного элемента ComboBox?
Здравствуйте. А как получить значение из combobox, чтобы можно было запихать его в эту функцию?...

Как получить значение выбранного элемента ComboBox?
Здравствуйте, вопрос заголовке (Как получить значение выбранного элемента ComboBox?). Гуугл не...

Как получит значение выбранного элемента из выпадающего списка ComboBox
получение значения выбранного элемента из выпадающего списка ComboBox

Содержимое второго ComboBox-а должно зависеть от выбранного элемента в первом ComboBox-е
Здраствуйте!У меня такая задачка. У меня есть 2 компонента CombBox. В первом я выбираю запись. А во...

Выводить разные ссылки в зависимости от chekbox'a
Здравствуйте. Есть две ссылки(http://test1.ru и http://test2.ru) Как сделать так если checkbox...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.