W
WolfgangM
Gast
Hallo,
ich versuche einen Gradient-Hintergrund für die Titlebar von einem JInternalFrame zu erzeugen. Folgender Quelltext geht aber voll daneben:
Hoffe, jemand kann helfen.
Vielen Dank im voraus.
Viele Grüße
Wolfgang
ich versuche einen Gradient-Hintergrund für die Titlebar von einem JInternalFrame zu erzeugen. Folgender Quelltext geht aber voll daneben:
Code:
//begin
import javax.swing.*;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
import javax.swing.plaf.basic.BasicInternalFrameUI;
import com.sun.java.swing.plaf.windows.WindowsInternalFrameTitlePane;
import java.awt.event.*;
import java.awt.*;
public class InternalFrameTitlebarGradient
extends JFrame {
public InternalFrameTitlebarGradient() {
super("InternalFrame Without TitleBar");
JInternalFrame frame = new JInternalFrame();
BasicInternalFrameTitlePane wi = new BasicInternalFrameTitlePane(frame){
//Alternativ
//WindowsInternalFrameTitlePane wi = new WindowsInternalFrameTitlePane(frame){
public void paintComponent(Graphics g)
{
setOpaque(false);
Graphics2D g2d = (Graphics2D) g;
Paint newPaint = new GradientPaint(0,0,Color.yellow,0,33,Color.orange,true);
g2d.setPaint(newPaint);
g2d.fillRect(0,0,getHeight(),getHeight());
}
};
BasicInternalFrameUI ui=(BasicInternalFrameUI)frame.getUI();
wi.setPreferredSize(new Dimension(22, 33));
wi.setMaximumSize(new Dimension(22, 33));
ui.setNorthPane(wi);
frame.setTitle("Test");
frame.setBounds(30,30,100,200);
frame.setVisible(true);
JDesktopPane desktop = new JDesktopPane();
desktop.add(frame);
setContentPane(desktop);
}
public static void main(String[] args)
{
InternalFrameTitlebarGradient frame = new InternalFrameTitlebarGradient();
frame.setBounds(30,30,300,300);
frame.setVisible(true);
}
}
//end
Vielen Dank im voraus.
Viele Grüße
Wolfgang