Проблемы при попытке чередовать прозрачность кадраJAVA

Программисты JAVA общаются здесь
Anonymous
Проблемы при попытке чередовать прозрачность кадра

Сообщение Anonymous »

Несколько дней назад я столкнулся с ошибкой свинга при попытке изменить прозрачность jframe (undcorated), которая потеряла свой цвет и информацию о прозрачности. /> Вот код, который показывает проблему: < /p>

Код: Выделить всё

public class TheSwingError extends JFrame {

Color transparent = new Color( 255, 0, 0, 100 ),
opaque = new Color( 255, 0, 0, 255 );

public TheSwingError() {
feel();
setDefaultCloseOperation( javax.swing.WindowConstants.EXIT_ON_CLOSE );
setBounds( 10, 10, 500, 500 );
setUndecorated( true );
setLayout( null );

setBackground( transparent );

JButton alternate = new JButton( "Transparent" );
alternate.setBounds( 10, 10, 160, 26 );
add( alternate );

setVisible( true );

alternate.addMouseListener( new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked( java.awt.event.MouseEvent evt ) {
JButton aux = ( JButton ) evt.getSource();
if( aux.getText().equals( "Transparent" ) ) {
setBackground( opaque );
aux.setText( "Opaque" );
}
else {
setBackground( transparent );
aux.setText( "Transparent" );
}
}
} );
}

private void feel() {
try {
for( javax.swing.UIManager.LookAndFeelInfo info: javax.swing.UIManager.getInstalledLookAndFeels() ) {
if( "Nimbus".equals( info.getName() ) ) {
javax.swing.UIManager.setLookAndFeel( info.getClassName() );
break;
}
}
}
catch( ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e ) {
e.printStackTrace();
}
}

public static void main( String[] args ) {
SwingUtilities.invokeLater( () -> {
new TheSwingError();
} );
}
}
Как я могу исправить это, не прибегая к перезаписи метода paintcomponent () ?.
Как вы увидите в моем ответе, этот пост предназначен, а не для того, чтобы обеспечить способ достичь объектива, чтобы предотвратить другие ошибки.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ansparency

Вернуться в «JAVA»