Hallo Leute,
Ich hab mal wieder ein Problem ( was auch sonst ). Und zwar bau ich zur Zeit ein Zeichenprogramm. Um Farben auszuwählen, benutze ich im Moment einen JColorChooser, der im Fenster am rechten Rand liegt, mit einer eigenen Preview, über die ich zwei verschiedene Farben einstellen kann. Im Moment arbeitet das ganze in einem SplitPane, damit ich diese große Vorschau auch ausblenden lassen kann.
Jetzt will ich das Problem eleganter lösen udn einfach selber einen Farbauswähler zusammenbasteln, damit ich es leicht hinkriege, das ganze in der unteren Hälfte als einen kleinen Balken einzubauen.
Grundmodel für die Idee: 1 Klasse "ColorPanel"(extends JPanel), 2 abstrakte Klassen "CChooserModel", "CPreviewModel"(extends JPanel). Und für den Fall, dass keine eigenen Klassen erstellt werden 2 Standard-Klassen "DefaultCChooser", "DefaultCPreview". Auf meinem CChooser will ich nun eine Vorschau von mehreren Farben haben, dafür kamen mir mehrere Fragen:
- (Für den Fall, dass ich einfach ein Bild einfüge: ) Wie ermittle ich die Farbe an einer Position in Graphics? (beantwortet -> new Robot().getPixelColor(x, y);
- (Wenn ich JColorChooser teilweise kopieren will: ) Was meint ihr, wo finde ich den Aufbau von deren "Chooser". Ich hab mir mehrere Klassen durchgeschaut(UIManager, LookAndFeel, JColorChooser, etc.). Auf LookAndFeel kam ich, da bei einem LookAndFeel, das an meinem Laptop-Standard ist, einen anderen Chooser-Aufbau habe, wie ich ihn von meinem Computer-LookAndFeel kenne. Ich hab gehofft, dass ich in LookAndFeels den Chooser finde, was nebenbei warsch. nur zur Laufzeit geht... :/ (also die System-LookAndFeels ermitteln)
- Was bliebe mir noch für eine Variante, um zwischen mehreren Farben wählen lassen zu können ? (viele JButtons wären wohl zu aufwendig...:/)
- Gibt es ein Layout, mit dem ich auf einem (J)Panel zwei Objekte(z.B. noch zwei (J)Panels) so plazieren kann, dass das eine z.B. 2 Drittel einnimmt und das andere das letzte Drittel? Sonst müsste ich das mit Layout null basteln und bei einem WindowResize-Event immer korrigieren lassen müssen
Hoffe, ihr könnt mir helfen. Wenn ich zuhause bin, kann ich euch auch gerne das Package rüberschieben, da es noch nicht "viel" Programmcode ist
Gruß, Thomas
Ich hab mal wieder ein Problem ( was auch sonst ). Und zwar bau ich zur Zeit ein Zeichenprogramm. Um Farben auszuwählen, benutze ich im Moment einen JColorChooser, der im Fenster am rechten Rand liegt, mit einer eigenen Preview, über die ich zwei verschiedene Farben einstellen kann. Im Moment arbeitet das ganze in einem SplitPane, damit ich diese große Vorschau auch ausblenden lassen kann.
Jetzt will ich das Problem eleganter lösen udn einfach selber einen Farbauswähler zusammenbasteln, damit ich es leicht hinkriege, das ganze in der unteren Hälfte als einen kleinen Balken einzubauen.
Grundmodel für die Idee: 1 Klasse "ColorPanel"(extends JPanel), 2 abstrakte Klassen "CChooserModel", "CPreviewModel"(extends JPanel). Und für den Fall, dass keine eigenen Klassen erstellt werden 2 Standard-Klassen "DefaultCChooser", "DefaultCPreview". Auf meinem CChooser will ich nun eine Vorschau von mehreren Farben haben, dafür kamen mir mehrere Fragen:
- (Für den Fall, dass ich einfach ein Bild einfüge: ) Wie ermittle ich die Farbe an einer Position in Graphics? (beantwortet -> new Robot().getPixelColor(x, y);
- (Wenn ich JColorChooser teilweise kopieren will: ) Was meint ihr, wo finde ich den Aufbau von deren "Chooser". Ich hab mir mehrere Klassen durchgeschaut(UIManager, LookAndFeel, JColorChooser, etc.). Auf LookAndFeel kam ich, da bei einem LookAndFeel, das an meinem Laptop-Standard ist, einen anderen Chooser-Aufbau habe, wie ich ihn von meinem Computer-LookAndFeel kenne. Ich hab gehofft, dass ich in LookAndFeels den Chooser finde, was nebenbei warsch. nur zur Laufzeit geht... :/ (also die System-LookAndFeels ermitteln)
- Was bliebe mir noch für eine Variante, um zwischen mehreren Farben wählen lassen zu können ? (viele JButtons wären wohl zu aufwendig...:/)
- Gibt es ein Layout, mit dem ich auf einem (J)Panel zwei Objekte(z.B. noch zwei (J)Panels) so plazieren kann, dass das eine z.B. 2 Drittel einnimmt und das andere das letzte Drittel? Sonst müsste ich das mit Layout null basteln und bei einem WindowResize-Event immer korrigieren lassen müssen
Hoffe, ihr könnt mir helfen. Wenn ich zuhause bin, kann ich euch auch gerne das Package rüberschieben, da es noch nicht "viel" Programmcode ist
Gruß, Thomas
Zuletzt bearbeitet: