Portal > Foren > Java > Desktop-Applikationen und Grafik > Hilfe für einen Anfänger: GradientButton und Vererbung
Antwort
 
Themen-Optionen
Alt 20.09.2005, 11:26 Nach oben    #1
Lautsprecher
Gast
 
Beiträge: n/a
Standard Hilfe für einen Anfänger: GradientButton und Vererbung

Hallo,
ich erstelle momentan mit dem VE von Eclipse eine Swing-Applikation. Mein JFrame BorderLayout habe ich auf "null" gesetzt, um die gewünschte Ansicht zu realsieren. Mein JFrame enthält ca. 15 Labels, 1 JTable on ScrollPane,
6 Textfelder und 6 Buttons.
2 Buttons sollen optisch vorgehoben werden. 3-D-Effekt(gewölbter Button) und die Farbe soll glänzend sein. Ganz wichtig ein Button "Grün" der andere "Rot"
Ich hab dafür eine weiter Klasse geschrieben (B-Klasse) auf diese soll
die A-Klasse zugreifen und den GradientButton erstellen.
Soweit zur Theorie, in der Praxis habe ich, da ich Anfänger bin momentan
Probleme damit:

Hier die Klassen:
A-Klasse die JFrame visualisiert

Code:
 
public static void main(String[] args) 
{
ZeiterfassungGlasdeckel application = new ZeiterfassungGlasdeckel();
application.show();
}
public ZeiterfassungGlasdeckel() {
super();
initialize();
}
private void initialize() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(getJContentPane());
} 
 
private JPanel getJContentPane() 
{
 
	Datumsleiste = new JLabel();
	Datumsleiste.setBounds(new java.awt.Rectangle(30,674,300,33));
	Datumsleiste.setFont(new java.awt.Font("Arial", java.awt.Font.BOLD, 20));
	Datumsleiste.setHorizontalTextPosition 
	(javax.swing.SwingConstants.CENTER);
	Datumsleiste.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
 
	/* etc, etc, etc, etc, */
 
	GradientButton jBGE = new GradientButton();
	jBGE.setColor(255,255,255,255);
	jBGE.insFramesetzten(675,557,126,92);
	jContentPane.add(jBGE.gradientbutton());
	
	jContentPane.add(getJButton(), null);
	/* etc, etc, etc, */
}
B-Klasse um GradientButton zu erstellen.
Code:
 
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Event;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JButton;
 
public class GradientButton extends JButton
{
JButton btn = null;
 
public JButton gradientbutton()
{
btn = new JButton("Gehen")
{
protected void paintComponent(Graphics gra)
{
	Graphics2D g = (Graphics2D)gra;
	super.paintComponent(g);
 
	GradientPaint gradientPaint = new GradientPaint(675,557,Color.RED,126,92,Color.RED);
	g.setPaint(gradientPaint);
	g.fillRect(675,557,126,92);
 
	getUI().paint(g,this);
}
};
	 return btn;
}
public JButton setColor(int r, int g, int b, int a)
{
btn.setBackground(new Color(r,g,b,a));
return btn;
}
 
public JButton insFramesetzten(int x1,int y1,int x2, int y2)
{
btn.setBounds(new java.awt.Rectangle(x1,y1,x2,y2));
 
	 return btn;
}
 
public GradientButton()
{
 
}
 
}
Derzeit erhalte ich folgende Fehlermeldung:
Code:
 
Exception in thread "main" java.lang.NullPointerException
at GradientButton.setColor(GradientButton.java:38) 
at ZeiterfassungGlasdeckel.getJContentPane(ZeiterfassungGlasdeckel.java:561)
at ZeiterfassungGlasdeckel.initialize(ZeiterfassungGlasdeckel.java:95)
at ZeiterfassungGlasdeckel.<init>(ZeiterfassungGlasdeckel.java:83)
at ZeiterfassungGlasdeckel.main(ZeiterfassungGlasdeckel.java:71
)

Irgendwo hängt es bei der Übergabe mit den Parametern, aber wo.....

Hasta
luego

 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.09.2005, 11:46 Nach oben    #2
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 433
Standard

Hi,

Dein OOP ist sehr _gewöhnungbedürftig_, aber egal.

Wenn ich das auf die Schnelle richtig sehe, ist Dein btn immer noch null.

Schreib diese Zeile
Code:
btn = new JButton("Gehen");
mit Semikolon in Deinen Konstruktor, dann haste auch Deinen Button initialisiert.
__________________
Denk mal darüber nach...

Lars

ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen.
www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de
Sym ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.09.2005, 12:12 Nach oben    #3
Lautsprecher
Gast
 
Beiträge: n/a
Standard

Hi Lars,
ich habe jetzt dahinter ein Semikolon gestetzt, aber jetzt motz er mir in der nächsten zeile bei protected void paintComponent(Graphics gra)...........
das eine ")", ; erwartet wird....
Nur Interesse Halber für einen Anfänger wie geht dann grundlegend bei der OOP vor. Den meisten Code, hat nämlich so der VE automatisch generiert?
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ich brauche Hilfe bei der Administration meines rootservers! Firat Plauderecke 7 07.09.2007 07:40
Ein Anfänger braucht Hilfe Fridolin Allgemeine Java-Programmierung 7 05.08.2004 17:33


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:45 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44