Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java GUI

Войти
Регистрация
Восстановить пароль
 
Tima1996
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 111
#1

Условие если точка на панели белый, то вытащить координаты этой точки - Java

03.12.2015, 15:52. Просмотров 288. Ответов 7
Метки нет (Все метки)

Здравствуйте, наткнулся на следующую проблему, не могу создать условие связанное с цветом объекта jPanel. У меня есть панель background который неоднородного цвета, и там нарисованы точки белым цветом на черном фоне, так вот мне необходимо при нажатии на белую точку узнать его координаты, а при нажатии на черную точку ничего не должно выводить. Для того чтобы узнать координаты нажатой точки на jPanel использую следующий код:
Java
1
2
3
private void jPanel1MouseClicked(java.awt.event.MouseEvent evt) {                                     
        label2.setText("x = " + evt.getX() + " y = " + evt.getY());
    }
Далее я попробовал сформулировать код следующим образом:
Java
1
2
if((jPanel1.getBackground(Color.white)
        label2.setText("x = " + evt.getX() + " y = " + evt.getY());
Но ничего не получилось, естественно выдает лексические ошибки, как правильно сформулировать условие?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2015, 15:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Условие если точка на панели белый, то вытащить координаты этой точки (Java):

Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести О. Если точка не совпадёт с началом координат, - Pascal
Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести О. Если точка не совпадёт с началом...

Создайте стуктуру Point (точка) с вещественными полями x и y, которые задают координаты этой точки в двухмерном пространстве - C++
Создайте стуктуру Point (точка) с вещественными полями x и y, которые задают координаты этой точки в двухмерном пространстве. Создайте...

Даны целочисленные координаты точки на плоскости.Если точка не лежит на координатных осях,то вывести 0... - Pascal
1 задача! Даны целочисленные координаты точки на плоскости.Если точка не лежит на координатных осях,то вывести 0.Если точка совпадает с...

Не подскажите функцию, чтобы я задал координаты точки на 3d плоскости, а она (ф-я) определила цвет этой точки? - OpenGL
Не подскажите функцию, чтобы я задал координаты точки на 3d плоскости, а она (ф-я) определила цвет этой точки?

М- точка пересечения медиан треугольника ABC AB=BC A(-1;-2) , C(3;6). Точка М лежит на оси ординат найти координаты точки B - Геометрия
М- точка пересечения медиан треугольника ABC AB=BC A(-1;-2) , C(3;6). Точка М лежит на оси ординат найти координаты точки B

Даны координаты точек х1, у1, ... х15, у15. Если точка попадает на плоскость, ограниченную кругом x2 + y2 = R2 - вывести ее координаты - C++
Лабораторная работа 5. Одномерные массивы * * Для задач этого раздела необходимо составить графический алгоритм, провести...

7
Pablito
2630 / 2112 / 656
Регистрация: 12.05.2014
Сообщений: 7,394
Завершенные тесты: 1
03.12.2015, 15:54 #2
Цитата Сообщение от Tima1996 Посмотреть сообщение
jPanel1.getBackground(Color.white)
что по твоему должна сделать эта строка? мне интересно
ответ под спойлером
Кликните здесь для просмотра всего текста
нет такого метода вообще у класса JPanel, точнее метод есть, но параметры туда пихать не нужно
0
Tima1996
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 111
03.12.2015, 16:26  [ТС] #3
Цитата Сообщение от Паблито Посмотреть сообщение
что по твоему должна сделать эта строка?
Я не прошу указать на мою лексическую безграмотность, я прошу хотя бы примерное решение моей проблемы, которой я указал выше
0
Pablito
2630 / 2112 / 656
Регистрация: 12.05.2014
Сообщений: 7,394
Завершенные тесты: 1
03.12.2015, 17:16 #4
код не идеален, но пойдет и работает
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
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
 
public class TestPanel extends JFrame {
    TestPanel() throws AWTException {
        setSize(500, 300);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        JPanel p = new JPanel();
        p.setBackground(Color.RED);
        //
        Robot robot = new Robot();
        p.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                super.mouseClicked(e);
                Color c = robot.getPixelColor(e.getX(), e.getY());
                System.out.printf("x=%d y=%d color argb = %d %d %d %d%n", e.getX(), e.getY(), c.getAlpha(), c.getRed(), c.getGreen(), c.getBlue());
 
            }
        });
        getContentPane().add(p);
    }
 
    public static void main(String[] args) throws AWTException {
        new TestPanel();
    }
}
0
Tima1996
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 111
04.12.2015, 08:22  [ТС] #5
В какой среде вы писали этот код? И вы не могли бы выложить весь код программы начиная с package заканчивая последней фигурной скобкой?
0
Pablito
2630 / 2112 / 656
Регистрация: 12.05.2014
Сообщений: 7,394
Завершенные тесты: 1
04.12.2015, 15:35 #6
я писал это в четверг, там весь код, который был скопирован через ctrl+a
там есть все импорты, а название пакета никакой роли не играет
0
Tima1996
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 111
04.12.2015, 17:36  [ТС] #7
На 19-ой строке выводит следующую ошибку: "Local variable robot is accessed to inner class needs to be declared final". Наверное это связано с необнаруженной библиотекой java.swing.*
0
Pablito
2630 / 2112 / 656
Регистрация: 12.05.2014
Сообщений: 7,394
Завершенные тесты: 1
04.12.2015, 17:41 #8
Java
1
final Robot robot = new Robot();
0
04.12.2015, 17:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2015, 17:41
Привет! Вот еще темы с ответами:

Даны координаты центра круга и его радиус, а также координаты точки. Лежит ли эта точка внутри круга? - Delphi
Даны координаты центра круга и его радиус, а также координаты точки. Лежит ли эта точка внутри круга?

Если все заданные точки плоскости принадлежат первому квадранту, определить координаты точки, наиболее удаленной от начала координат - Pascal
Если все заданные точки плоскости принадлежат первому квадранту, определить координаты точки, наиболее удаленной от начала координат,...

Координаты точки (x, y) и определить, попадает ли точка в заштрихованную область - C#
Всем доброго времени суток я зависла с этим алгоритмом вроде работает , но ошибок очень много выдает , что если что если задам...

Вводит координаты точки (x, y) и определяет, попадает ли точка в заштрихованную область - C (СИ)
Построить программу, которая вводит координаты точки (x, y) и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru