Matthias Ronald Gerard
148 / 208 / 25
Регистрация: 11.08.2022
Сообщений: 2,056
1

Переформулирую. В JavaFX 20 нарисовать заголвок таблицы, не создавая доаолнительные классы

03.06.2023, 05:26. Показов 790. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Рисую таблицу, заполняю данными, но стандартный заголовок не отрисовывается.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2023, 05:26
Ответы с готовыми решениями:

Не отрисовывается заголвок таблицы в swing, созданный программно
Всём привет! Рисую таблицу в коде swing. Заголовки вроде бы добавил. НО они не выводятся....

Как получить все таблицы БД не создавая в коде новых соединений
Добрый день, форумчане. Я перехожу на C# и у меня возникла задача, связанная с базами данных. Я...

Таблицы со связами и JavaFX
Добрый день! У меня есть две таблицы: customers(id_cust(int), firma(varchar), phone(varchar)) и...

Скроллинг таблицы в JavaFX
Помогите, как можно задать горизонтальный скроллинг в TableView? В инете искал, ничего подходящего...

1
Matthias Ronald Gerard
148 / 208 / 25
Регистрация: 11.08.2022
Сообщений: 2,056
05.06.2023, 01:19  [ТС] 2
Вот, нашёл. Но это уже не чистый swing, это JavaFX TableView.
Ссылка

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import javafx.beans.property.*;
 
public class Person{
     
    private SimpleStringProperty name;
    private SimpleIntegerProperty age;
     
    Person(String name, int age){
        this.name = new SimpleStringProperty(name);
        this.age = new SimpleIntegerProperty(age);
    }
     
    public String getName(){ return name.get();}
    public void setName(String value){ name.set(value);}
     
    public int getAge(){ return age.get();}
    public void setAge(int value){ age.set(value);}
}
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
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.FlowPane;
import javafx.scene.control.Label;
import javafx.scene.control.TableView;
import javafx.scene.control.TableColumn;
import javafx.collections.ObservableList;
import javafx.collections.FXCollections;
import javafx.scene.control.cell.PropertyValueFactory;
 
public class Main extends Application{
     
    public static void main(String[] args) {
          
        Application.launch(args);
    }
      
    @Override
    public void start(Stage stage) throws Exception {
         
        // создаем список объектов
        ObservableList<Person> people = FXCollections.observableArrayList(
             
            new Person("Tom", 34),
            new Person("Bob", 22),
            new Person("Sam", 28),
            new Person("Alice", 29)
        );
        // определяем таблицу и устанавливаем данные
        TableView<Person> table = new TableView<Person>(people);
        table.setPrefWidth(250);
        table.setPrefHeight(200);
     
        // столбец для вывода имени
        TableColumn<Person, String> nameColumn = new TableColumn<Person, String>("Name");
        // определяем фабрику для столбца с привязкой к свойству name
        nameColumn.setCellValueFactory(new PropertyValueFactory<Person, String>("name"));
        // добавляем столбец
        table.getColumns().add(nameColumn);
         
        // столбец для вывода возраста
        TableColumn<Person, Integer> ageColumn = new TableColumn<Person, Integer>("Age");
        ageColumn.setCellValueFactory(new PropertyValueFactory<Person, Integer>("age"));
        table.getColumns().add(ageColumn);
         
        FlowPane root = new FlowPane(10, 10, table);
         
        Scene scene = new Scene(root, 300, 250);
          
        stage.setScene(scene);
        stage.setTitle("TableView in JavaFX");
        stage.show();
    }
}
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
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.FlowPane;
import javafx.scene.control.Label;
import javafx.scene.control.TableView;
import javafx.scene.control.TableColumn;
import javafx.collections.ObservableList;
import javafx.collections.FXCollections;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.geometry.Orientation;
 
import javafx.beans.value.ObservableValue;
import javafx.beans.value.ChangeListener;
 
public class Main extends Application{
     
    public static void main(String[] args) {
          
        Application.launch(args);
    }
      
    @Override
    public void start(Stage stage) throws Exception {
         
        // создаем список объектов
        ObservableList<Person> people = FXCollections.observableArrayList(
             
            new Person("Tom", 34),
            new Person("Bob", 22),
            new Person("Sam", 28),
            new Person("Alice", 29)
        );
        Label lbl = new Label();
        TableView<Person> table = new TableView<Person>(people);
        table.setPrefWidth(250);
        table.setPrefHeight(200);
     
        // столбец для вывода имени
        TableColumn<Person, String> nameColumn = new TableColumn<Person, String>("Name");
        nameColumn.setCellValueFactory(new PropertyValueFactory<Person, String>("name"));
        table.getColumns().add(nameColumn);
         
        // столбец для вывода возраста
        TableColumn<Person, Integer> ageColumn = new TableColumn<Person, Integer>("Age");
        ageColumn.setCellValueFactory(new PropertyValueFactory<Person, Integer>("age"));
        table.getColumns().add(ageColumn);
         
        TableView.TableViewSelectionModel<Person> selectionModel = table.getSelectionModel();
        selectionModel.selectedItemProperty().addListener(new ChangeListener<Person>(){
             
            public void changed(ObservableValue<? extends Person& val, Person oldVal, Person newVal){
                if(newVal != null) lbl.setText("Selected: " + newVal.getName());
            }
        });
         
        FlowPane root = new FlowPane(Orientation.VERTICAL, 10, 10, lbl, table);
         
        Scene scene = new Scene(root, 300, 250);
          
        stage.setScene(scene);
        stage.setTitle("TableView in JavaFX");
        stage.show();
    }
}
0
05.06.2023, 01:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2023, 01:19
Помогаю со студенческими работами здесь

Выпадающий список со значениями из таблицы бд javafx
Помогите пожалуйста! Пишу приложение для работы с БД. Работаю с JAVAFX. Есть таблица студентов...

Отображение кнопок в ячейках таблицы javafx
В ячейке колонки таблицы лежит HBox, внутри которого Label и Button. По умолчанию кнопки не...

Как разместить 2 таблицы tableview в одном окне javafx
У меня firebirdembedded. в нем 2 таблицы vopros otvet ( главная и подчиненная по внешнему ключу)....

JavaFX. Самое первое задание в JavaFX вместо Java. Не используя вспомогательных объектов
Всем привет, уважаемые форумчане! Мы работали на программировании в вузе на Java. Теперь дали...

Проект JavaFX в Eclipse не видит библиотеки из javafx-sdk
Доброго всем времни суток. Помогите решить вот такую проблемку. Установил среду Eclipse. В ней...

JavaFX ругается (package javafx.fxml does not exist)
Error:(3, 19) java: package javafx.fxml does not exist Error:(4, 28) java: package...

Swing --> JavaFX, Переписать графический компонент в JavaFX
Всем привет! Только начал изучать Java. Пишу программу крестики-нолики(игра). Написал...


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

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

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