Новый вопрос. Есть появляющаяся форма (на ней элементы), задача сделать ее полупрозрачной. Вначале делал обычными настройками:
rootPanel.setBackground(new Color(0, 0, 0, 223));
Прозрачность появляется, но с ней и разные артефакты (например черный непрозрачный фон под JTextField). Нашел вот этот ответ: Прозрачность jPanel и jLabel
Это должно помочь. Только в примере:
JPanel otherPanel = new JPanel( new BorderLayout() ) {
@Override
public void paintComponent( Graphics g ) {
Создается новая панель и она переопределяется. У меня панель уже создана "rootPanel" и на ней располагаются объекты, поэтому я не могу ее удалить и создать новую. Собственно вопрос как переопределить уже существующую панель, или может есть еще какой-то способ сделать прозрачность?
Весь класс выглядит так:
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Profile {
private JPanel rootPanel;
private JPanel iconAvaPanel;
private JTextField nameTextField;
private JTextField familyNameTextField;
private JButton Button;
private JTextPane TextPane;
private JButton buttonClose;
private JLabel buttonExit;
private JLabel phoneNumber;
private JPanel mainPanel;
private JPanel panel;
private void createUIComponents() {
// TODO: place custom component creation code here
mainPanel = new JPanel()
{
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// Apply our own painting effect
Graphics2D g2d = (Graphics2D) g.create();
// 50% transparent Alpha
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
g2d.setColor(getBackground());
g2d.fillRect(0, 0, getWidth(), getHeight());
g2d.dispose();
}
};
mainPanel.setOpaque( false );
mainPanel.setBackground( new Color( 0, 0, 0, 200 ) );
mainPanel.setVisible(false);
mainPanel.setVisible(true);
}
public Profile() {
nameTextField.setBorder(javax.swing.BorderFactory.createEmptyBorder());
familyNameTextField.setBorder(javax.swing.BorderFactory.createEmptyBorder());
buttonExit.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
super.mousePressed(e);
System.exit(0);
}
});
}
public JTextField getNameTextField() {
return nameTextField;
}
public void setNameTextField(String name) {
this.nameTextField.setText(name);
}
public JTextField getFamilyNameTextField() {
return familyNameTextField;
}
public void setFamilyNameTextField(String familyName) {
this.familyNameTextField.setText(familyName);
}
public JPanel getRootPanel() {
return rootPanel;
}
public JButton getButtonClose()
{
return buttonClose;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber.setText(phoneNumber);
}
public JPanel getMainPanel() {
return mainPanel;
}
public JPanel getPanel() {
return panel;
}
}
Можно так
panel.setOpaque( false );
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Каждый раз когда мне надо обновить Spring приложение, мне необходимо закачивать на сервер файл размером 30 мегабайт, 29 из которых занимают библиотеки...
Самостоятельно изучаю java с помощью книжкиТакая проблема и до этого выскакивала, я просто сменил версию, не помогло
У меня есть три класса, являющиеся компонентами
Приложение список: значение - количество Как сделать проверку раз в 15 секунд обновились ли эти количества и если да то вывести уведомления...