, поэтому я сделал прозрачный фон JFrame, установив фоновый альфа на 0, однако, если я запустил программу в linux, фон JFrame белое почему это?using frame.setBackground (0, 255, 0, 0) не работает с linux
ok Я нашел, что он имеет какое-то отношение к рендерингу графики к фрейму, этот метод старый, мне он больше не нужен в программе, но мне все равно хотелось бы знать, почему это происходит (его просто в Linux работает найти в окнах)
здесь исполняемого пример
import java.awt.*;
import java.awt.Color;
import javax.swing.*;
class Main extends JFrame{
private void init() {
this.setPreferredSize(new Dimension(1420, 820));
this.setUndecorated(true);
this.setResizable(false);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setBackground(new Color(0, 255, 0, 0));
this.requestFocus();
this.setVisible(true);
this.validate();
this.pack();
Color color = UIManager.getColor("activeCaptionBorder");
this.getRootPane().setBorder(BorderFactory.createLineBorder(color, 1));
paintInfo();
}
private void paintInfo() {
Graphics g = this.getGraphics();
g.setColor(new Color(222, 222, 222, 4));
g.setFont(new Font("Arial Black", Font.BOLD, 15));
g.setColor(Color.BLACK);
g.drawString("test String ",this.getWidth()/2, this.getHeight()/2);
g.dispose();
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
new Main().init();
}
}
Посмотрите на [определение возможностей платформы в] (http://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html #capability) и убедитесь, что вы тестируете, доступна ли функциональность – MadProgrammer
после небольшого тестирования, которое у него не получилось сделайте это с помощью метода setBackground, поэтому я не уверен, что это такое, поэтому я не получил больше информации, чтобы дать, пока все есть, если кто-нибудь имеет представление о том, что на самом деле вызывает это, было бы полезно, спасибо –
Рассмотрите возможность [runnable пример] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это не дамп кода, а пример того, что вы делаете, что подчеркивает проблему, с которой вы сталкиваетесь. Это приведет к меньшему путанице и лучшим ответам – MadProgrammer