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

Трудности с JLabel при добавлении на панели

18.09.2014, 19:56. Показов 574. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, всем! Помогите, разобраться, что же я делаю не так с JPanel. Есть Ui.java
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
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.InputMismatchException;
import java.util.Scanner;
 
import javax.swing.*;
 
public class Ui extends JFrame {  
    private final SpringLayout l = new SpringLayout();
    
    JPanel newPanel;
    
    public Ui() {
        super("vroomvroom");
        setLayout(l);
        setSize(560, 400);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        JMenuBar menuBar = new JMenuBar();
        JMenu mainMenu = new JMenu("Menu");
 
        JMenuItem readTXTItem = new JMenuItem("Read TXT");
        mainMenu.add(readTXTItem);
        readTXTItem.addActionListener(new ActionListener() {           
            public void actionPerformed(ActionEvent e) {
                addData();           
            }           
        });
 
        mainMenu.addSeparator();
        
        menuBar.add(mainMenu);                 
        setJMenuBar(menuBar);
    }
   
    public final void addData() {
    
        newPanel = new Engine();                
        newPanel.setPreferredSize(new Dimension(500,300)); 
        add(newPanel);
        l.putConstraint(SpringLayout.WEST, newPanel, 20, SpringLayout.WEST, this);
        l.putConstraint(SpringLayout.NORTH, newPanel, 20, SpringLayout.NORTH, this);
 
 
 
        engine.print();        //          почему не отображает JLabel       ???????????????????????????????
                                   //          add(newPanel); после также не дает результата
 
 
 
        newPanel.updateUI();
    }
      
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Ui().setVisible(true);
            }
        });    
    }
}
и Engine.java
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
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
 
import javax.swing.JLabel;
import javax.swing.JPanel;
 
public class Engine extends JPanel{
    @Override 
    public void paintComponent(Graphics g) {
        super.paintComponent(g);             
        Graphics2D gr2d = (Graphics2D) g;
    }
    
    
    public Engine() {}
    
    public void print() { 
        JLabel jlb = new JLabel("key");
        add(jlb);
        System.out.print('test');
    }
 
}
Мне хотелось бы, чтобы надписи JLabel появлялись по желанию, т.е. вызвав print(), чтобы затем, если что, я мог очистить панель с removeAll(). PaintComponent() - не подходит, т.к. он отрисовывается единожды при создании объекта, а если понадобится походу добавлять на панель надписи? Можно ли так вообще?

Добавлено через 13 минут
там кое-что я неправильно указал - newPanel.print(); вместо engine.print();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2014, 19:56
Ответы с готовыми решениями:

NullPointException при добавлении JLabel и JFormattedTextField
Разбираю пример по верификации из книжки Ошибка java.lang.NullPointerException ...

Трудности при добавлении данных из первой формы во вторую открытую форму
Добрый день, Форумчане. Есть две формы: ФормаА и ФормаБ. В формеА есть DataGridView со списком,...

Ошибка при jLabel.setIcon (Netbeans)
Есть код курсового проекта(незакончен в стадии розроботки) вилезает ошыбка на поиске изображений...

Трудности при компиляции.
Друзья, добрый день. Столкнулся с такой проблемой. Создаю новый проект в MS VS 2010, пишу...

1
Мастер кустарных методов
232 / 227 / 17
Регистрация: 09.11.2010
Сообщений: 680
23.09.2014, 11:05 2
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
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
 
import javax.swing.JLabel;
import javax.swing.JPanel;
 
public class Engine extends JPanel {
 
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D gr2d = (Graphics2D) g;
    }
 
    public Engine() {
    }
 
    public void print() {
        JLabel jlb = new JLabel("key");
        add(jlb);
        System.out.print("test");
    }
 
}
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
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.InputMismatchException;
import java.util.Scanner;
 
import javax.swing.*;
 
public class Ui extends JFrame {  
    private final SpringLayout l = new SpringLayout();
    
    JPanel newPanel;
    
    public Ui() {
        super("vroomvroom");
        setLayout(l);
        setSize(560, 400);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        JMenuBar menuBar = new JMenuBar();
        JMenu mainMenu = new JMenu("Menu");
 
        JMenuItem readTXTItem = new JMenuItem("Read TXT");
        mainMenu.add(readTXTItem);
        readTXTItem.addActionListener(new ActionListener() {           
            public void actionPerformed(ActionEvent e) {
                addData();           
            }           
        });
 
        mainMenu.addSeparator();
        
        menuBar.add(mainMenu);                 
        setJMenuBar(menuBar);
    }
   
    public final void addData() {
    
        Engine newPanel = new Engine();                
        newPanel.setPreferredSize(new Dimension(500,300)); 
        add(newPanel);
        l.putConstraint(SpringLayout.WEST, newPanel, 20, SpringLayout.WEST, this);
        l.putConstraint(SpringLayout.NORTH, newPanel, 20, SpringLayout.NORTH, this);
 
 
 
        newPanel.print();        //          почему не отображает JLabel       ???????????????????????????????
                                   //          add(newPanel); после также не дает результата
 
 
 
        newPanel.updateUI();
    }
      
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Ui().setVisible(true);
            }
        });    
    }
}
0
23.09.2014, 11:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2014, 11:05
Помогаю со студенческими работами здесь

Все просто. Код работает при редактировании, а при добавлении нет
Собственно форма открывается с кнопки: Private Sub Кнопка9_Click() DoCmd.OpenForm...

Трудности при установке Windows
Здравствуйте. При загрузке Windows 7 c диска появляется надпись "press any key to boot from cd or...

Трудности при знакомстве с debian
Здравствуйте, с линуксом работаю пару дней, поэтому вопросов уйма. Немного предыистории:...

Непредвиденные трудности при переустановке
Всем привет, На моем опыте случилось поработать с компьютером 2010 года. Попытался...

Трудности при использовании LIMIT
Доброй ночи, уважаемые форумчане! Проблема вот в чем. Для начала немного о ситуации. Например,...

Возникли трудности при построении
При построении мотогондолы в SolidWorks2015 у меня возникли проблемы следующим образом: когда я, в...


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

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