#java #swing #jlabel
Вопрос:
В JPanel у меня есть несколько JLabels, созданных таким образом:
...
Random rand = new Random();
Color col = new Color(rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat());
Color playColor= new Color(col.getRed(), col.getGreen(), col.getBlue(), col.getAlpha());
sqr.setOpaque(true);
sqr.setBackground(playColor);
sqr.setLayout(null);
...
Когда я нажимаю на любую метку JL (mouseClicked(MouseEvent e)) Я могу получить информацию об этом в JOptionPane. В той же JOptionPane у меня есть флажок для пометки выбранной метки (установите флажок-> setBorder(BorderFactory.createLineBorder(Цвет.красный)), снимите флажок ->> setBorder(null). Когда я проверяю, а затем снимаю флажок JLabel, происходит что-то вроде этого:
Как избавиться от этих флажков с этикеток?
правка: флажки на этикетках-это только картинки, а не настоящие флажки. Может быть, эта фотография поможет:
Этот квадрат с красной рамкой теперь помечен пометкой chechBox на JOptionPane. И этот слева (с изображением флажка на нем) был проверен ранее. Я не знаю, как это объяснить, это просто происходит после того, как я нажимаю на флажок на JOptionPane. После щелчка я устанавливаю красную границу или устанавливаю нулевую границу на метке, ничего больше.
Комментарии:
1. SSCCE было бы неплохо. Я не совсем понимаю проблему.
2. Здесь было бы полезно немного больше кода.
3. Кстати, зачем использовать оператор ->?? Это Java, а не C
4. @ignis, этот фрагмент со стрелкой-это не код 🙂 Я просто написал это, чтобы объяснить, что делает опция проверки. Извините за недопонимание.
Ответ №1:
В качестве отступления (это, вероятно, должно быть комментарием, но я использую ответ для блоков кода) это..
Color col = new Color(
rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat());
Color playColor= new Color(col.getRed(), col.getGreen(), col.getBlue(), col.getAlpha());
..эквивалентно..
Color playColor = new Color(
rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat());
Ответ №2:
Эти флажки не будут «просто появляться» там так точно. Вы рисуете их где-нибудь на этикетках?! Пожалуйста, проверьте это тщательно!
Немного больше кода было бы полезно.
Комментарии:
1. флажки на этикетках-это только изображение реального флажка. Они появляются после того, как я проверяю и снимаю флажок в JPanel. Я их не рисую.
2. Просто покажите нам больше кода, пожалуйста! Меня не волнуют цветные вещи и все остальное. Покажите нам, как именно расположены элементы в JPanel и тому подобное.