Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 19

Не отображается JLabel используемая в другом классе

06.02.2015, 07:22. Показов 1375. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Не судите строго, я не программист и java только начал изучать.
Я начал набрасывать интерфейс для своей будущей программки и пришел к выводу что это получается громоздко. Для упрощения и уменьшения я хочу использовать классы (до этого я начинал изучать Python и там это было очень удобно). Вот фрагменты кода:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
...
final Box hbox1 = Box.createHorizontalBox();
final Box vbox = Box.createVerticalBox();
String s = new String("апавggggggggggggпекцапап");
Metka b = new Metka(s);
hbox1.add(b);
vbox.add(hbox1);
add(vbox,  BorderLayout.CENTER);
...
 
class Metka extends JLabel
{
    public Metka (String text_metki)
        {
            System.out.println("Class Metka bil ispolzovan");
            final JLabel sama_metka =  new JLabel(text_metki, Label.LEFT);
            sama_metka.setMaximumSize(sama_metka.getPreferredSize());
        }
}
Программа компилируется, при запуске появляется окно, в командной строке появляется сообщение "Class Metka bil ispolzovan", свидетельствующее об использовании класса, но текс метки не отображается в окне...
Если в java предусмотрено такое использование в классах прошу исправить ошибки. Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2015, 07:22
Ответы с готовыми решениями:

Не так отображается JLabel и JTextField
Всем привет, пишу лабу по теорверу, сказали, что нужно приделать GUI, первый раз с этим встречаюсь, так что пока только разбираюсь. ...

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном классе,в другом классе.У меня есть объект pl класса Player,это...

Как использовать информацию парсированую в 1 классе в другом классе
имеются 2 класса , объясните плз в чём ошибка using System; using System.Collections.Generic; using System.Linq; using System.Text;...

9
 Аватар для ][irurg
181 / 180 / 38
Регистрация: 16.06.2010
Сообщений: 511
06.02.2015, 17:40
Java
1
2
3
4
5
6
class Metka extends JLabel {
 
    public Metka(String text) {
        super(text);
    }
}
0
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 19
09.02.2015, 12:46  [ТС]
Вообщем сделал так:
Java
1
2
3
4
5
6
7
class Metka extends JLabel
{
    public Metka (String text)
    {
        super(new JLabel(text));
    }
}
В результате:

"error: no suitable constructor found for JLabel(JLabel)
super(new JLabel(text));
constructor JLabel.JLabel() is not applicable
(actual and formal argument lists differ in length)
constructor JLabel.JLabel(Icon) is not applicable
(actual argument JLabel cannot be converted to Icon by method invocation conversion)
constructor JLabel.JLabel(Icon,int) is not applicable
(actual and formal argument lists differ in length)
constructor JLabel.JLabel(String) is not applicable
(actual argument JLabel cannot be converted to String by method invocation conversion)
constructor JLabel.JLabel(String,int) is not applicable
(actual and formal argument lists differ in length)
constructor JLabel.JLabel(String,Icon,int) is not applicable
(actual and formal argument lists differ in length)"

Подскажите, пожайлуста, что не так, желательно хоть с какими-нибудь пояснениями или ссылками!
0
 Аватар для ][irurg
181 / 180 / 38
Регистрация: 16.06.2010
Сообщений: 511
09.02.2015, 13:38
super(text); вызывается конструктор предка, требующий String , а вы пихаете ему Jlabel
0
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 19
10.02.2015, 05:13  [ТС]
А можете выложить, в качестве примера, работающий код с использованием элементов Swing? Так было бы намного понятней!

Добавлено через 58 минут
Впрочем внес несколько изменений в код и пока вроде работает:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
...
String s = new String("апавggggggggggggпекцапап");
Metka_class b = new Metka_class();
hbox1.add(b.Metka(s));
vbox.add(hbox7);
add(vbox,  BorderLayout.CENTER);
...
 
class Metka_class
{
    public JLabel Metka(String text)
    {
        JLabel sama_metka = new JLabel();
        sama_metka.setText(text);
        sama_metka.setMaximumSize(sama_metka.getPreferredSize());
        return sama_metka;
    }
}
0
 Аватар для Solank
5 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 7
10.02.2015, 22:18
Для начала поэкспериментируй с чем-нибудь подобным.
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
package ru.cyberforum;
 
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class Main {
    
    public static void main(String[] args) {
        new SwingExample().init();
    }
}
 
class SwingExample {
    
    private final JFrame frame;
    private final JPanel panel;
    
    private final JTextField textField;
    private final JLabel label;
    private final JButton button;
    
    public SwingExample() {
        frame = new JFrame("Swing Example");
        panel = new JPanel();
        
        textField = new JTextField("Введите строку");
        label = new JLabel();
        button = new JButton("Действие");
    }
    
    public void init() {
        button.addActionListener((actionEvent) -> {
            label.setText(textField.getText());
        });
        
        panel.setLayout(new GridLayout(3, 1));
        panel.add(textField);
        panel.add(label);
        panel.add(button);
        
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 200);
        frame.add(panel);
        frame.setVisible(true);
    }
}
0
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 19
11.02.2015, 07:21  [ТС]
Solank, К сожалению 32 ошибки при компиляции...
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
11.02.2015, 09:26
_BiG_MaN_, эти ошибки можно бы и привести здесь)

Добавлено через 21 минуту
_BiG_MaN_, надеюсь, Вы используете Java 8? По крайней мере здесь используются lambda прямиком из неё...
0
 Аватар для Solank
5 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 7
11.02.2015, 12:48
_BiG_MaN_
Во-первых, оно может ругаться на лямбду. Убедись, что у тебя установлена 8 версия Java. Если ты на Windows, JVM сама просит обновляться, не отказывай ей.
Во-вторых, надеюсь, ты удалил эту строку, либо изменил ее под себя.
Java
1
package ru.cyberforum;
0
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 19
12.02.2015, 08:02  [ТС]
Все верно! Использовал java 7 версии из-за программы Excelsior JET, моя версия не поддерживает Java 8, все заработало! Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2015, 08:02
Помогаю со студенческими работами здесь

В учебной программе в классе слушателя JTextField и JLabel что-то не то
Добрый день. Пытаюсь освоить Java. После учебника решил попробовать поделать свои простые примеры. Программка должна текст из JTextField...

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

Нужно вызвать через сторонний метод(в другом классе,который в другом файле) метод в форме
public void Print_Inform(int numb1,int znak,int numb2) { switch(znak) { case 1: label2.Text = "+"; break; case...

TextBox в другом классе
Допустим есть такой класс: public class Class1 { public System.Windows.Forms.TextBox textbox; public...

Управление в другом классе
Ребят у меня есть объект основанный на одном из моих классов gameM = new GameMenu(); Тут дело в том что я создаю его в одном...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru