JLabel непрозрачный и альфа - PullRequest
1 голос
/ 07 июня 2011

В 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);
...

Когда я нажимаю на любой JLabel (mouseClicked (MouseEvent e)), я могу получить информацию об этом в JOptionPane. В той же панели JOptionPane у меня есть checkBox, чтобы пометить выбранную метку (check-> setBorder (BorderFactory.createLineBorder (Color.red)), снять флажок -> setBorder (null). Когда я проверяю и затем снимаю флажок с jLabel, что-то вроде этого происходит:

enter image description here

Как избавиться от этих флажков у ярлыков?

edit: флажки на ярлыках - это только картинки, а не настоящие флажки. Может быть, эта картина поможет: enter image description here

Этот квадрат с красной рамкой теперь проверяется меткой chechBox на JOptionPane. И этот слева (с картинкой checkBox на нем) был проверен ранее. Я не знаю, как это объяснить, это просто происходит после того, как я нажимаю флажок CheckBox на JOptionPane После нажатия я установил красную границу или установил нулевую границу на ярлыке, ничего более.

Ответы [ 2 ]

2 голосов
/ 07 июня 2011

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

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());
1 голос
/ 07 июня 2011

Эти флажки не будут "просто появляться" там так точно.Вы рисуете их где-то на этикетках ?!Пожалуйста, проверьте это тщательно!

Немного больше кода будет полезно.

...