powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Двумерное создание labelов
13 сообщений из 13, страница 1 из 1
Двумерное создание labelов
    #38997620
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем.
Ребята подскажите как создать двумерный массив label. (пример игра минер)
или исправте мой код.

private void ShowPrice(){
sp=new Pane();
sp.setLayoutX(8);
sp.setLayoutY(60);
sp.setPrefSize(550,700);
sp.setStyle("-fx-border-width:2pt;-fx-border-color:olive;-fx-background-color:lightgrey;");
anhorPanePrice.getChildren().add(sp);
mylabel=new Label[6][pr.getParsingFirm().size()];
for(int i=0;i<6;i++){
for(int j=0;j<pr.getParsingFirm().size();j++){

mylabel[i][j].setLayoutY(40+j*30);
mylabel[i][j].setPrefSize(200,30);
switch(i){
case 0:
mylabel[i][j].setStyle("-fx-font:bold italic 10pt Georgia;-fx-text-fill:#000066;");
mylabel[i][j].setLayoutX(10);
if(j==0){
mylabel[i][j].setLayoutY(10);
mylabel[i][j].setText("Название фирм");
}else{
mylabel[i][j].setText(pr.getParsingFirm().get(j).toString());
}
break;
case 1:
mylabel[i][j].setStyle("-fx-font:bold italic 10pt Georgia;-fx-text-fill:#a4aa16;");
mylabel[i][j].setLayoutX(210);
if(j==0){
mylabel[i][j].setLayoutY(10);
mylabel[i][j].setText("A-92");
}else{
mylabel[i][j].setText(pr.getParsingA92().get(j).toString());
}
break;
case 2:
mylabel[i][j].setStyle("-fx-font:bold italic 10pt Georgia;-fx-text-fill:GREEN;");
mylabel[i][j].setLayoutX(270);
if(j==0){
mylabel[i][j].setLayoutY(10);
mylabel[i][j].setText("A-95");
}else{
mylabel[i][j].setText(pr.getParsingA95().get(j).toString());
}
break;
case 3: mylabel[i][j].setStyle("-fx-font:bold italic 10pt Georgia;-fx-text-fill:RED;");
mylabel[i][j].setLayoutX(330);
if(j==0){
mylabel[i][j].setLayoutY(10);
mylabel[i][j].setText("A-95+");
}else{
mylabel[i][j].setText(pr.getParsingA95P().get(j).toString());
}
break;
case 4: mylabel[i][j].setStyle("-fx-font:bold italic 10pt Georgia;-fx-text-fill:BLACK;");
mylabel[i][j].setLayoutX(390);
if(j==0){
mylabel[i][j].setLayoutY(10);
mylabel[i][j].setText("ДТ");
}else{
mylabel[i][j].setText(pr.getParsingDT().get(j).toString());
}
break;
case 5: mylabel[i][j].setStyle("-fx-font:bold italic 10pt Georgia;-fx-text-fill:#7d125a;");
mylabel[i][j].setLayoutX(450);
if(j==0){
mylabel[i][j].setLayoutY(10);
mylabel[i][j].setText("Газ");
}else{
mylabel[i][j].setText(pr.getParsingGas().get(j).toString());
}
break;
}
sp.getChildren().add(mylabel[i][j]);
}
}
}


Заранее спасибо
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997629
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про гриды когда-нибудь слышал? заранее пожалуйста
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997637
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это распространенная ошибка использовать компоненты Swing как элементы подобного интерфейса.
Вам нужно сначала научиться отделать модель от представления.
Модель это массив состояний игрового поля.
А представление - весь код связанный с классами Swing, Java2D, JavaFX.
switch..case здесь не уместен. У вас код в каждом case это копипаста.
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997846
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА представление - весь код связанный с классами Swing, Java2D, JavaFX.
switch..case здесь не уместен. У вас код в каждом case это копипаста.

Можно пример.
Очень нужно.
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997854
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите исправить.
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997893
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21помогите исправить.
А что с ним не так7
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997902
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczmixon21помогите исправить.
А что с ним не так7

при компиляции выдает ошибку

Executing E:\Java\Програмы\Price1\dist\run1529311398\Price1.jar using platform C:\Program Files\Java\jdk1.8.0_45\jre/bin/java
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997917
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21при компиляции выдает ошибку

Как всё запущено-то.

mixon21Executing E:\Java\Програмы\Price1\dist\run1529311398\Price1.jar using platform C:\Program Files\Java\jdk1.8.0_45\jre/bin/java

Это не компиляция.

mixon21Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
Это не весь текст ошибки.
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997948
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz Это не компиляция.


при выборе cjmboboxa.item.

BlazkowiczЭто не весь текст ошибки.

Вам нужен весь текст ошибки?



Executing E:\Java\Програмы\Price1\dist\run1410490543\Price1.jar using platform C:\Program Files\Java\jdk1.8.0_45\jre/bin/java
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1770)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1653)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8390)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.handleControlPropertyChanged(ComboBoxListViewSkin.java:256)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase.lambda$registerChangeListener$61(BehaviorSkinBase.java:197)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$$Lambda$128/431567200.call(Unknown Source)
at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55)
at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105)
at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
at javafx.scene.control.ComboBoxBase.setValue(ComboBoxBase.java:150)
at javafx.scene.control.ComboBox.updateValue(ComboBox.java:471)
at javafx.scene.control.ComboBox.access$300(ComboBox.java:187)
at javafx.scene.control.ComboBox$4.changed(ComboBox.java:454)
at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.ReadOnlyObjectWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyObjectWrapper.java:176)
at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(ReadOnlyObjectWrapper.java:142)
at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
at javafx.scene.control.SelectionModel.setSelectedItem(SelectionModel.java:102)
at javafx.scene.control.ComboBox$ComboBoxSelectionModel.lambda$new$154(ComboBox.java:502)
at javafx.scene.control.ComboBox$ComboBoxSelectionModel$$Lambda$77/552219752.invalidated(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.ReadOnlyIntegerWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:176)
at javafx.beans.property.ReadOnlyIntegerWrapper.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:142)
at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:113)
at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:147)
at javafx.scene.control.SelectionModel.setSelectedIndex(SelectionModel.java:68)
at javafx.scene.control.SingleSelectionModel.updateSelectedIndex(SingleSelectionModel.java:215)
at javafx.scene.control.SingleSelectionModel.select(SingleSelectionModel.java:149)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.lambda$createListView$321(ComboBoxListViewSkin.java:695)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin$$Lambda$145/314125301.invalidated(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:349)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.ReadOnlyIntegerWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:176)
at javafx.beans.property.ReadOnlyIntegerWrapper.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:142)
at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:113)
at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:147)
at javafx.scene.control.SelectionModel.setSelectedIndex(SelectionModel.java:68)
at javafx.scene.control.MultipleSelectionModelBase.select(MultipleSelectionModelBase.java:395)
at javafx.scene.control.MultipleSelectionModelBase.clearAndSelect(MultipleSelectionModelBase.java:348)
at javafx.scene.control.ListView$ListViewBitSetSelectionModel.clearAndSelect(ListView.java:1400)
at com.sun.javafx.scene.control.behavior.CellBehaviorBase.simpleSelect(CellBehaviorBase.java:260)
at com.sun.javafx.scene.control.behavior.CellBehaviorBase.doSelect(CellBehaviorBase.java:224)
at com.sun.javafx.scene.control.behavior.CellBehaviorBase.mousePressed(CellBehaviorBase.java:150)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:95)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3758)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3486)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2495)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:350)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$350(GlassViewEventHandler.java:385)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$204/1008587155.get(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:404)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:384)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:927)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
at com.sun.glass.ui.win.WinApplication$$Lambda$36/1963387170.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1767)
... 97 more
Caused by: java.lang.NullPointerException
at price1.FXMLDocumentController.ShowPrice(FXMLDocumentController.java:88)
at price1.FXMLDocumentController.handleComboboxTextChanget(FXMLDocumentController.java:55)
... 107 more
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997971
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
for(int i=0;i<6;i++){
for(int j=0;j<pr.getParsingFirm().size();j++){

mylabel[i][j] = new Label();

mylabel[i][j].setLayoutY(40+j*30);
mylabel[i][j].setPrefSize(200,30);
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38997999
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, Спасибо.
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38998019
mixon21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста еще как обработать событие мыши
чтобы label меняли не все а именно те по которым я кликнул

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    mylabel[i][j].setOnMouseClicked(new EventHandler() {

    @Override
    public void handle(Event event) {
        
        for(int i=0;i<6;i++){
for(int j=0;j<pr.getParsingFirm().size();j++){
       mylabel[i][j].setStyle("-fx-font:bold italic 10pt Georgia;-fx-text-fill:#a4aa16;");
    }
        }
    }
});
...
Рейтинг: 0 / 0
Двумерное создание labelов
    #38998036
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mixon21,

event.getSource() ?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Двумерное создание labelов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]