Как я могу сделать компонент AWT прозрачным, если фон является прогрессивным изображением?
Примечание: используется только AWT, где прогрессивное окно () 5 кадров в секунду.Panel () теперь не становится прозрачной при использовании нового цвета (255,0,0,0).Как сделать панель прозрачной?
AWT?здесь:
public class 888 extends Window
{
private Button button;
public 888()
{
super(new Frame());
// Transparent failed
getOwner().setBackground(new Color(255, 0, 0, 0) );
this.setLayout (new BorderLayout ());
button = new Button("close");
button.setBackground(Color.RED);
button.setSize(200,200);
button.setLocation(0,20);
this.add("North", button);
Panel p = new Panel();
//p.setOpaque(false);
p.setSize(200,200);
p.setLocation(400,400);
// Transparent failed
p.setBackground(new Color(255,0,0,0));
p.add("Left", new Button("Test"));
this.add("North", p);
//AWTUtilities.setWindowOpacity(this, 0.2f); // Error in Linux
}
public static void main(String[] args)
{
Window j = new 888();
j.setVisible(true);
//j.setBackground( new Color(255, 0, 0, 0) );
}
}
SWing ?: здесь
public class 888 extends JWindow
{
private JButton button;
public 888()
{
//super(new Frame());
// Transparent failed
getOwner().setBackground(new Color(255, 0, 0, 0) );
this.setLayout (new BorderLayout ());
button = new JButton("close");
button.setBackground(new Color(255,0,0,255));
button.setSize(200,200);
button.setLocation(0,20);
this.add("North", button);
JPanel p = new JPanel();
//p.setOpaque(false);
p.setSize(200,200);
p.setLocation(400,400);
// Transparent failed
p.setBackground(new Color(255,0,0,0));
p.add("Left", new Button("Test"));
this.add("North", p);
//AWTUtilities.setWindowOpacity(this, 0.2f); // Error in Linux
}
public static void main(String[] args)
{
JWindow j = new 888();
j.setVisible(true);
//j.setBackground( new Color(255, 0, 0, 0) );
}
}
Примечание: на самом деле ничего не работает, с Swing у меня возникают проблемы с JButton, потому что когдаJWindow обновляется, JButton становится невидимым.С помощью AWT, когда я использую кнопку и панель, никто не может установить ее прозрачность.
Как мне ее решить?Для прогрессивного фонового изображения Панель или Кнопка, чтобы сделать прозрачным?
Резюме:
Я пришел к точке сейчас после выполнения многих тестов, которые больше нигде не доступны.В основном в прогрессивной развертке Window () или JWindow ().Лучше использовать Awt для (без прозрачных объектов) и Swing для (прозрачных объектов).Не делайте вывод, как многие, что не следует использовать Awt и Swing, вы должны быть умными, чтобы смешать их, иначе закончится бесконечное лето 69:)
Ссылка:
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html http://java.sun.com/products/jfc/tsc/articles/threads/threads3.html