Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Alradalion
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485

На панели прорисовываются ненужные элементы

07.05.2015, 11:30. Показов 1200. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Разбираюсь потихоньку с Java. Написал небольшую программку, но столкнулся с проблемой, что при переключении Radiobutton на панели прорисовываются какие-то непонятные элементы которых там, по идее, не должно быть

Код:
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.TitledBorder;
 
 
public class Frame_game extends JFrame {
    
   JPanel All=new JPanel(); //Общая панель
   
   JPanel mishen=new JPanel();//Панель мишени
   JPanel UserEnter=new JPanel();//Панель выбора
   JPanel EnterTarget = new JPanel();// 1 правая панель
   
   
   ButtonGroup cbg=new ButtonGroup();//группа кнопок на 1 панели
   JLabel nameLabel=new JLabel("Выберите тип мишени");
   JLabel Number=new JLabel ("");
   
   GridLayout gr1=new  GridLayout(1,3);//Грид для общей
   GridLayout gr2=new  GridLayout(3,1);//Грид для панели выбора
   
   BorderLayout bl=new BorderLayout();
   CardLayout card = new CardLayout();
  
   
   JRadioButton circle= new JRadioButton("Круглая мишень",  true);
   JRadioButton square= new JRadioButton("Квадратная мишень", false);
   JRadioButton rectangle= new JRadioButton("Прямоугольная мишень", false);
    
 
  
   ImagePanel panelCircle= new ImagePanel(new ImageIcon("1.png").getImage());
   ImagePanel panelCircle1= new ImagePanel(new ImageIcon("1.png").getImage());
   ImagePanel panelQu= new ImagePanel(new ImageIcon("1.png").getImage());
   ImagePanel panelPr= new ImagePanel(new ImageIcon("1.png").getImage());
 
   
   //конструктор
  public Frame_game(){
    super("Game");
    setResizable(false);
    setSize(600, 400);
    setLocationRelativeTo(null);
    setContentPane(All);
    setVisible(true);
    
    All.setLayout(gr1);
    All.add(mishen);
    All.add(UserEnter);
    
    mishen.setLayout(card);
    mishen.add(panelCircle,"1");
    mishen.add(panelCircle1,"2");
    mishen.add(panelQu,"3");
    mishen.add(panelPr,"4");
    mishen.setBorder(BorderFactory.createEtchedBorder());
   
    UserEnter.setLayout(gr2);
    UserEnter.add(EnterTarget);
    
    UserEnter.setBorder(BorderFactory.createEtchedBorder());
    
    cbg.add(square);
    cbg.add(circle);
    cbg.add(rectangle);
    
    
    Box box = Box.createVerticalBox();
   
    box.add(nameLabel);
    box.add(Box.createVerticalStrut(5));
    box.add(circle);
    box.add(square);
    box.add(rectangle);
    nameLabel.setAlignmentX(JComponent.CENTER_ALIGNMENT);
    EnterTarget.add(box);
    EnterTarget.setBorder(BorderFactory.createTitledBorder(
    BorderFactory.createEtchedBorder(),"Мишень" ));
 
    circle.addActionListener(new TargetCheckBoxActionListener());
    square.addActionListener(new TargetCheckBoxActionListener());
    rectangle.addActionListener(new TargetCheckBoxActionListener());
    
    } 
  
  
  private class TargetCheckBoxActionListener implements ActionListener {
    @Override
        public void actionPerformed(ActionEvent e) {
          String item = e.getActionCommand();
          
          if (item=="Круглая мишень")
          {Number.setText(item);
          card.show(mishen, "2");
          }
          if (item=="Квадратная мишень")
          {Number.setText(item);
          card.show(mishen, "3");
          }
          if (item=="Прямоугольная мишень")
          {Number.setText(item);
          card.show(mishen, "4");
          }
       }
  }
  private class ImagePanel extends JPanel {
 
  private Image img;
 private BufferedImage originalImage = null;
  public ImagePanel(String img) {
    this(new ImageIcon(img).getImage());
  }
 
  public ImagePanel(Image img) {
    //setLayout(null);
    this.img = img;
    Dimension size = new Dimension(300,350);
  setPreferredSize(size);
   setMinimumSize(size);
    setMaximumSize(size);
    setSize(size);
 }
 
  @Override
  public void paintComponent(Graphics g) {
    g.drawImage(img, 20, 50, null);
  }
}
  
public static void main(String[] args) {
       
      Frame_game Game= new Frame_game();
        
    }}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.05.2015, 11:30
Ответы с готовыми решениями:

Компас 15.2 x32 не прорисовываются полностью элементы
Нарисовал схему в Компас 15.2 Электрик. Но элементы плохо прорисовываются, и даже когда печатаю в XPS, все остается непрорисованным. Скрин...

Не прорисовываются элементы окна свойств файла в проводнике
Не прорисовываются элементы окна свойств файла в проводнике, для принудительной прорисовки приходится задвигать окно за край экрана и...

Убрать ненужные элементы из схемы
Здравствуйте друзья. У меня такой вопрос - мне необходимо из схемы 1 убрать индикатор и все элементы, к нему прилагающиеся. В результате у...

1
 Аватар для Alradalion
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485
07.05.2015, 12:17  [ТС]
Все, разобрался, тему можно закрывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2015, 12:17
Помогаю со студенческими работами здесь

Удалить ненужные элементы в массиве
вот часть моего кода . нужно удалить нулевые значения в массиве чтобы сократить размеры массива. нулеевые элементы в массиве не нужны...

Как убрать ненужные элементы из TLIstBox`a ???
Всем привет! У меня есть TListBox с нескольки элементами, число которых непостоянно. На данный момент мне нужно удалить из этого списка все...

Как убрать с карты ненужные элементы (см. скриншот)?
Вот добавляю скриншот, подскажите, как убрать строку поиска. Карта загружается через javascriptAPI

Как убрать ненужные мне элементы формы?
Как убрать ненужные мне элементы формы? Элементы пронумерованы см. рис.

Как можно преобразовать один xml файл в другой выкинув из него ненужные элементы
Здравствуйте. Подскажите пожалуйста как можно преобразовать один xml документ в другой выкинув из него ненужные элементы. Я понимаю что там...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru