import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class MainFrame
{
JFrame mainFrame;
JPanel mainPanel;
JButton button;
JButton button1;
public MainFrame() {
mainFrame = new JFrame ( );
mainPanel = new JPanel ();
button = new JButton ("主页面上");
button1 = new JButton ("透明页面上");
MyGlassPane Mg=new MyGlassPane();
Mg.add(button1);
//mainFrame.setGlassPane( mainPanel );
mainPanel.add( button );
mainFrame.getContentPane().add( mainPanel );
mainFrame.setGlassPane(Mg);
mainFrame.getGlassPane().setVisible( true );
mainFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
mainFrame.setSize( 300,400 );
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible( true );
}
private class MyGlassPane extends JComponent {
public MyGlassPane(){
addMouseListener( new MouseAdapter(){
public void mouseClicked( MouseEvent e ){
System.out.println("这个是。不知道!");
repaint();
}
} );
}
public void paintComponent( Graphics g ){
Graphics2D g2=(Graphics2D)g;
Composite composite=g2.getComposite();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.7f));
g2.fillRect( 0,0,getWidth(),getHeight() );
g2.setComposite(composite);
super.paintComponent(g2);
}
}
public static void main(String[] args)
{
SwingUtilities.invokeLater( new Runnable(){
public void run(){
new MainFrame();
}
});
}
}
谁能告诉我为什么显示不了button1.
谢谢啊。
import javax.swing.*;
import java.awt.event.*;
class MainFrame
{
JFrame mainFrame;
JPanel mainPanel;
JButton button;
JButton button1;
public MainFrame() {
mainFrame = new JFrame ( );
mainPanel = new JPanel ();
button = new JButton ("主页面上");
button1 = new JButton ("透明页面上");
MyGlassPane Mg=new MyGlassPane();
Mg.add(button1);
//mainFrame.setGlassPane( mainPanel );
mainPanel.add( button );
mainFrame.getContentPane().add( mainPanel );
mainFrame.setGlassPane(Mg);
mainFrame.getGlassPane().setVisible( true );
mainFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
mainFrame.setSize( 300,400 );
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible( true );
}
private class MyGlassPane extends JComponent {
public MyGlassPane(){
addMouseListener( new MouseAdapter(){
public void mouseClicked( MouseEvent e ){
System.out.println("这个是。不知道!");
repaint();
}
} );
}
public void paintComponent( Graphics g ){
Graphics2D g2=(Graphics2D)g;
Composite composite=g2.getComposite();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.7f));
g2.fillRect( 0,0,getWidth(),getHeight() );
g2.setComposite(composite);
super.paintComponent(g2);
}
}
public static void main(String[] args)
{
SwingUtilities.invokeLater( new Runnable(){
public void run(){
new MainFrame();
}
});
}
}
谁能告诉我为什么显示不了button1.
谢谢啊。
Mg.setLayout(new BorderLayout());
Mg.add(button1,BorderLayout.SOUTH);
Mg.setLayout(new BorderLayout());
Mg.add(button1,BorderLayout.SOUTH);