Hallo!
Ich zeichne mein Frame selbst mit Buttons zum Schließen und zum Minimieren.
Ich habe eine Graphics2D als Kopf gezeichnet. Darauf liegen die Buttons.
Wenn ich das Prog starte sind zum ersten nur die Buttons sichtbar.Erst wenn ich das Fenster minimiere und wieder maximiere wird die Graphics2D sichtbar.Doch dann sind die Buttons nicht mehr sichtbar.Erst wenn ich mit der Maus drauf bin.
Zum zweiten wenn ich nun mit der Maus auf einem Button bin erscheint der ToolTipText.
Dann nehme ich die Maus vom Button weg - Nun sind aber dort wo der ToolTipText war Grafikfehler.
Zum dritten habe ich ja das Standardfenster ausgestellt mit
.
Wenn ich das Fenster mit meinem Button minimiert habe
und dann so mit Rechtsklick unten in der Schnellstartleiste schliesse gehts nicht.Er versteckt das Fenster nur.
Wer kann helfen?
Hier mein Code:
MfG
Ich zeichne mein Frame selbst mit Buttons zum Schließen und zum Minimieren.
Ich habe eine Graphics2D als Kopf gezeichnet. Darauf liegen die Buttons.
Wenn ich das Prog starte sind zum ersten nur die Buttons sichtbar.Erst wenn ich das Fenster minimiere und wieder maximiere wird die Graphics2D sichtbar.Doch dann sind die Buttons nicht mehr sichtbar.Erst wenn ich mit der Maus drauf bin.
Zum zweiten wenn ich nun mit der Maus auf einem Button bin erscheint der ToolTipText.
Dann nehme ich die Maus vom Button weg - Nun sind aber dort wo der ToolTipText war Grafikfehler.
Zum dritten habe ich ja das Standardfenster ausgestellt mit
Code:
setUndecorated(true);
Wenn ich das Fenster mit meinem Button minimiert habe
Code:
setState (MeinFrame.ICONIFIED);
Wer kann helfen?
Hier mein Code:
Code:
public class MeinFrame extends JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
private final Font font = new Font("Monotype Corsiva", Font.BOLD, 18);
private final Font font2 = new Font("Arial", Font.BOLD, 18);
static MeinFrame mf;
MeinTray mtr;
static JButton jbc,jbm;
private Image icon_e = getToolkit().getImage(getClass().getResource("../Bilder/erde_e.gif"));
public MeinFrame()
{
super("Titel");
setLayout(null);
// Titelleiste deaktivieren
setUndecorated(true);
ImageIcon close = new ImageIcon(getClass().getResource("../Bilder/Close.gif"));
ImageIcon close2 = new ImageIcon(getClass().getResource("../Bilder/Close_over.gif"));
jbc = new JButton(close);
jbc.setActionCommand("close");
jbc.setToolTipText("Schließen");
jbc.setRolloverEnabled(true);
jbc.setRolloverIcon(close2);
jbc.addActionListener(this);
this.add(jbc);
ImageIcon minim = new ImageIcon(getClass().getResource("../Bilder/mini_mousedown.gif"));
ImageIcon minim2 = new ImageIcon(getClass().getResource("../Bilder/mini_mouseover.gif"));
jbm = new JButton(minim);
jbm.setActionCommand("minimieren");
jbm.setToolTipText("Minimieren");
jbm.setRolloverEnabled(true);
jbm.setRolloverIcon(minim2);
jbm.addActionListener(this);
this.add(jbm);
mtr = new MeinTray();//Tray setzen
setzeIcon();
pack();
}
public static void main(String[] args)
{
mf = new MeinFrame();
mf.setVisible(true);
mf.setExtendedState(MeinFrame.MAXIMIZED_BOTH);
final int fensterbreite = (int) mf.getSize().getWidth();
jbc.setBounds(fensterbreite-42,30,40,24);
jbm.setBounds(fensterbreite-70,30,24,24);
}
public void paint(Graphics g)
{
super.paint(g);
paintTitleBar(g);
}
private void paintTitleBar(Graphics g)
{
final int currentWidth = (int) getSize().getWidth();
final int height = 45;
Graphics2D g2d = (Graphics2D) g;
final GradientPaint gradientPaint = new GradientPaint(0,0,Color.BLUE,currentWidth,height,Color.GREEN);
g2d.setPaint(gradientPaint);
g.fillRect(0,25, currentWidth, height);
g.setFont(font);
g.setColor(Color.BLACK);
g.drawString("Name", 1, 15);
g.setFont(font2);
g.drawString("titel", 100, 50);
g.setFont(font);
g.drawString("www", 160, 62);
g.setColor(Color.RED);
g.drawImage(icon_e,0,5, this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equalsIgnoreCase("close"))
{
mtr.sysTray.freeMemoryExit();
System.exit(0);
}
if(e.getActionCommand().equalsIgnoreCase("minimieren"))
{
mf.setState (MeinFrame.ICONIFIED);
}
}
MfG