PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: GUI Widget implementieren


Gast
2008-03-11, 15:38:52
Hi!

Ich möchte in Java+Swing gerne ein eigenes Widget schreiben, einen Kalender um genau zu sein.
Im Prinzip sieht der genauso aus wie JTable, da ich allerdings noch eine Überschrift und eine Knopfreihe brauche, kann ich nicht von JTable erben.

Ich habe jetzt ewig rumgespielt und bin irgendwann bei Component (von awt) angelangt. Wenn ich hiervon erbe, kann ich das Widget einem JFrame hinzufügen, aber der Test-Button taucht nicht auf, und ich kann ihn dem Component auch nicht explizit hinzufügen.
Hier der Code:


import java.awt.Component;
import javax.swing.*;

public class Calendar extends Component {
public Calendar() {
JButton button = new JButton("Test");
}
}


Kann mir jemand erklären, wie ich das machen kann, was ich vor habe?

Shink
2008-03-12, 08:14:36
Benötigst du tatsächlich einen Kalender? Dann nimm bei deinen Kenntnissen besser ein fertiges Bean wie jcalendar: http://www.toedter.com/en/jcalendar/

Wenn du es aber aus Lehrzwecken o.ä. machst: Du könntest dich z.B. einfach von JPanel ableiten. Im Konstruktor dann add(new JButton("Test")); ausführen.

Gast
2008-03-12, 11:13:53
Danke, mit nem Panel funkionierts!

Ich möchte einfach nur ein eigenes Widget schreiben... in Qt z. B. erbt man von QWidget, in wxWidgets von wxWindow...

Von der reinen Klassenhierarchie her ist das Äquivalent Component, aber damit funktioniert es wie gesagt nicht. Dann mach ichs halt mit Panels :)

Trap
2008-03-12, 11:20:00
Man muss von JComponent erben (=>Swing), nicht von Component (=>AWT), dann geht es auch.