Swing Frage zur Vorgehensweise (JTable?, JLabels?)

Joggal

Aktives Mitglied
Hallo,

Ich möchte gerne folgendes in meiner GUI mit Swing nachbilden:



Das Problem, wenn man das ganze OHNE JTABLE lösen möchte ist, dass es ziemlich aufwendig und schwierig ist, das ganze Originalgetreu zu positionieren, z.B mit den JRadioButtons... außerdem wird es schwer den Border zu setzen (zumindest so wie ich es versucht habe)

Und das Problem MIT JTABLE ist folgendes:
Die Multiple-HeaderColumns sind in diesem Beispiel in der 2. Zeile, was sich aber bei JTable aber nur in der 1. Zeile möglich ist (zumindest laut dem was ich gefunden habe).

Außerdem kommt noch das Problem hinzu, dass die RadioButtons in einer ZEILE sind, und so ziemlich komplex auszuprogrammieren ist, in meinem Fall unmöglich... (habe bereits einen anderen Thread zu diesem Problem erstellt; ohne Antworten^^)

Hat jemand vielleicht Ideen, oder Lösungsansätze wie ich das Bild nachbauen könnte?

LG
 

hauptDev

Bekanntes Mitglied
Nur eine Frage am Rande, wieso Swing? Weil die Applikation bereits Swing als GUI nutzt?
JavaFX ist zum Beispiel super um Logik und View zu trennen und ist auch schnell erlernt.
 

dzim

Top Contributor
Danke, hauptDev! Ich trau' mich ja schon gar nicht mehr, das hier so direkt zu sagen...
Darüber hinaus: JavaFX lässt sich auch in bestehende Swing-Anwendungen integrieren, wenn es denn unbedingt Swing aussen rum sein muss (z.B. bei Legacy-Anwendungen). Man muss halt nur bedenken, dass die auf unterschiedlichen Threads laufen...
 

Joggal

Aktives Mitglied
Nur eine Frage am Rande, wieso Swing? Weil die Applikation bereits Swing als GUI nutzt?
JavaFX ist zum Beispiel super um Logik und View zu trennen und ist auch schnell erlernt.

Gute Frage! :D
Ich hab mich einfach noch nicht mit etwas anderem als Swing beschäftigt... aber danke für den Tipp!
Ich trenne zur Zeit Logik und View durch das MVC Modell, das klappte bisher eig. auch ganz gut!

Aber eine Gegenfrage: Wieso nicht Swing? Also was spricht mehr für JavaSX und gegen Swing?

Zu VfL_Freak:

Das war ja mein zweiter Ansatz! Ich habs schon mit dem BoxLayout und GridLayout versucht,aber da funktioniert das noch nicht so ganz wie es sein soll (z.B da einige Labels kleiner sein sollen um unter ein Bild zu passen - wie auf dem Bild)

Und danke für den Link, den schau ich mir gleich mal an!


lg Jörg

PS: Frage: Einige Themen kann ich wegen Rechten nicht öffnen (Joggal, Sie haben keine Rechte, um auf diese Seite zuzugreifen.), weiß da jemand weiter? xD
 
Zuletzt bearbeitet:

hauptDev

Bekanntes Mitglied
Also Vorteile von JavaFX:
  • kompletter Aufbau kann mit FXML ausgelagert werden
  • sieht modern aus und kann individuell mit CSS und JavaFX CSS gestaltet werden
  • hat eine umfassende Medien- und Web-Engine

Nachteil:
  • braucht Java 7+, was man noch nicht bei allen Otto-Normal-Nutzern voraussetzen kann

Das nur in Kürze, man findet bestimmt noch viele weitere Vorteile und einige Nachteile
 
Zuletzt bearbeitet:

Joggal

Aktives Mitglied
Hey,

Ok, das hört sich eig. ja ganz gut an, da ich mich mit CSS schon auskenne! :)

Aber trotzdem würd ich schon noch ganz gerne wissen, wie ihr das mit Swing lösen würdet :)
(welches Layout würdet ihr verwenden, um die Grafik so in der GUI nachbilden zu können)



lg Jörgi
 

Flown

Administrator
Mitarbeiter
Also ich hab ein wenig herumgespielt und hab das eben reingehackt. Man kann es natürlich noch verfeinern und so aussehen lassen wie man will.

Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class DiamondExample {
	public static void main(String[] args) {
		new DiamondExample();
	}
	
	public DiamondExample() {
		JFrame frame = new JFrame("Diamonds");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		JPanel main = new JPanel();
		main.setLayout(new GridLayout(1, 5));
		ImageIcon diamondIcon = new ImageIcon(System.getProperty("user.dir")+"\\icon\\Diamond.JPG");
		
		ButtonGroup group = new ButtonGroup();
		
		JPanel pan = createJPanel(diamondIcon, new String[]{"Rein (IF)"}, group);
		pan.setBorder(BorderFactory.createLineBorder(Color.BLACK));
		main.add(pan);
		pan = createJPanel(diamondIcon, new String[]{"VVS1", "VVS2"}, group);
		pan.setBorder(BorderFactory.createLineBorder(Color.BLACK));
		main.add(pan);
		pan = createJPanel(diamondIcon, new String[]{"VS1", "VS2"}, group);
		pan.setBorder(BorderFactory.createLineBorder(Color.BLACK));
		main.add(pan);
		pan = createJPanel(diamondIcon, new String[]{"SI1", "SI2"}, group);
		pan.setBorder(BorderFactory.createLineBorder(Color.BLACK));
		main.add(pan);
		pan = createJPanel(diamondIcon, new String[]{"P1", "P2", "P3"}, group);
		pan.setBorder(BorderFactory.createLineBorder(Color.BLACK));
		main.add(pan);

		
		frame.add(main);
		frame.pack();
		frame.setVisible(true);
	}
	
	private JPanel createJPanel(ImageIcon diamondIcon, String[] text, ButtonGroup group) {
		JPanel panel = new JPanel(new BorderLayout());
		panel.add(new JLabel(diamondIcon), BorderLayout.NORTH);
		JPanel innerPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
		for (int i = 0; i < text.length; i++) {
			JPanel wrapper = new JPanel(new BorderLayout());
			wrapper.add(new JLabel(text[i], JLabel.CENTER), BorderLayout.CENTER);
			innerPanel.add(wrapper);
		}
		panel.add(innerPanel, BorderLayout.CENTER);
		innerPanel = new JPanel(new FlowLayout());
		for (int i = 0; i < text.length; i++) {
			JRadioButton button = new JRadioButton();
			group.add(button);
			JPanel wrapper = new JPanel(new BorderLayout());
			wrapper.add(button, BorderLayout.CENTER);
			innerPanel.add(wrapper);
		}
		panel.add(innerPanel, BorderLayout.SOUTH);
		
		return panel;
	}
}
 

Joggal

Aktives Mitglied
Hi Flown,

Danke für den Code, der ist echt schon super für das, was ich brauche! :)

Ich werd den sofern du nichts dagegen hast für meine Zwecke verwenden und noch ein bisschen dran rumbasteln!

Nochmals vielen Dank für die Hilfe!

lg Jörgi
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Frage zum Schieberegler JSlider AWT, Swing, JavaFX & SWT 5
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 10
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 9
E Frage zum Textfeld AWT, Swing, JavaFX & SWT 8
H Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab? AWT, Swing, JavaFX & SWT 5
pkm Frage wegen java.lang.IllegalStateException bei DocumentListener AWT, Swing, JavaFX & SWT 4
D Frage zu ActionListenern und AvtionEvents AWT, Swing, JavaFX & SWT 2
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
F JavaFX Frage zum Logging AWT, Swing, JavaFX & SWT 6
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
ralfb1105 Swing Frage zu SwingWorker Verhalten bei cancel() AWT, Swing, JavaFX & SWT 2
J Frage zu setuserdata AWT, Swing, JavaFX & SWT 1
N Frage zu ListView AWT, Swing, JavaFX & SWT 11
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
J Event Handling Frage zu der Funktion addActionListener AWT, Swing, JavaFX & SWT 2
J Frage zur objektorentierten Swing Programmierung AWT, Swing, JavaFX & SWT 10
T JavaFX Frage zum FX-Loader AWT, Swing, JavaFX & SWT 3
B drawRect Frage und Aufgabenstellung AWT, Swing, JavaFX & SWT 10
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
S Frage zu java.awt.EventQueue AWT, Swing, JavaFX & SWT 1
J Frage zu Java Projekt [2D Game] AWT, Swing, JavaFX & SWT 3
M Swing Grundlegende Frage zu SWING mit WindowBuilder AWT, Swing, JavaFX & SWT 11
M Frage zum Loggen von Fehlern AWT, Swing, JavaFX & SWT 3
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
M Thread-Frage in SWT AWT, Swing, JavaFX & SWT 1
Q Cursor Frage AWT, Swing, JavaFX & SWT 8
W JavaFX TableView frage AWT, Swing, JavaFX & SWT 5
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
I Grundsätzliche Frage zu ItemListener AWT, Swing, JavaFX & SWT 11
X Kurze Frage zu JPopup AWT, Swing, JavaFX & SWT 3
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
D Frage zu JFrame und Graphics AWT, Swing, JavaFX & SWT 4
S Frage zu Jtable / CellEditor AWT, Swing, JavaFX & SWT 1
kaoZ Frage zum einfügen von Componenten AWT, Swing, JavaFX & SWT 14
N Swing JTable anfänger frage AWT, Swing, JavaFX & SWT 2
S GridBagLayout-Frage AWT, Swing, JavaFX & SWT 1
V 2D-Grafik Frage zum Graphics Objekt AWT, Swing, JavaFX & SWT 2
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
G noch eine Frage zum EventDispachThread AWT, Swing, JavaFX & SWT 4
D MVC Frage AWT, Swing, JavaFX & SWT 6
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
GianaSisters 2D-Grafik BufferedImage.getSubimage - Frage AWT, Swing, JavaFX & SWT 7
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
N Swing JComboBox Frage AWT, Swing, JavaFX & SWT 5
Luk10 g.drawString funktioniert nicht + Frage zur Text-Rendering Qualität AWT, Swing, JavaFX & SWT 7
Luk10 Frage zu Farb-Komposition AWT, Swing, JavaFX & SWT 9
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
V SWT Import Wizard - frage zur WizardPage AWT, Swing, JavaFX & SWT 5
N Swing Frage JXMapviewer AWT, Swing, JavaFX & SWT 4
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
lumo SWT Zeichnen bescheunigen bzw eine allg. Frage AWT, Swing, JavaFX & SWT 8
H Frage zu übergebenem Vector bzw. Boolean AWT, Swing, JavaFX & SWT 3
C 2D-Grafik BufferedImage laden, Frage zum Code AWT, Swing, JavaFX & SWT 2
VfL_Freak Swing Frage zu "new JPasswordField( 10 )" AWT, Swing, JavaFX & SWT 6
H Frage zu WindowBuilder Pro AWT, Swing, JavaFX & SWT 3
C Frage/Problem mit Jpanel AWT, Swing, JavaFX & SWT 4
S Frage zu TextArea AWT, Swing, JavaFX & SWT 2
GUI-Programmer Zeichnen in Swing - Frage AWT, Swing, JavaFX & SWT 6
Luk10 Frage zu Mouseevents AWT, Swing, JavaFX & SWT 7
J Refreshing Swing Frage AWT, Swing, JavaFX & SWT 10
F Frage zu Event KeyTyped bei jPanel AWT, Swing, JavaFX & SWT 4
A Frage zu StringBuilder AWT, Swing, JavaFX & SWT 2
S allg. Frage zur GUI-Architektur AWT, Swing, JavaFX & SWT 5
A Frage zu JDialog AWT, Swing, JavaFX & SWT 3
A Frage zur Methode matches() AWT, Swing, JavaFX & SWT 2
P LayoutManager Verständnis-Frage GridBagLayout AWT, Swing, JavaFX & SWT 7
H Allgemeine Frage zu Grafikfähigkeiten von Java AWT, Swing, JavaFX & SWT 24
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
Jats Frage zu JLabel & JTextField AWT, Swing, JavaFX & SWT 4
Y frage zu BufferedImage AWT, Swing, JavaFX & SWT 7
hdi Swing Frage zu invokeAndWait() Exceptions AWT, Swing, JavaFX & SWT 8
P Swing Frage zu paintComponent/getGraphics AWT, Swing, JavaFX & SWT 4
M Frage nach Swing Element AWT, Swing, JavaFX & SWT 3
S Frage zu Graphics2D AWT, Swing, JavaFX & SWT 3
T AWT Frage zu AWT AWT, Swing, JavaFX & SWT 5
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
F unspezifizierte Frage zu JTable/ Model AWT, Swing, JavaFX & SWT 6
B SWT Frage zu MVC und Data-Binding AWT, Swing, JavaFX & SWT 8
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
J Java2D Kreis/Kurven Frage AWT, Swing, JavaFX & SWT 2
P Kurze Frage zur Gestaltung eines vertikalen Menüs AWT, Swing, JavaFX & SWT 2
Dit_ Frage zum Thema SwingUtilities.invokeLater AWT, Swing, JavaFX & SWT 5
Eldorado Frage zur Anwendung des MVC-Konzept AWT, Swing, JavaFX & SWT 33
G Frage zu processMouseEvent AWT, Swing, JavaFX & SWT 6
M Zoomen in ein JPanel... und eine andere kleine Frage AWT, Swing, JavaFX & SWT 3
D Swing implementierungs-technische Frage zu JList/AbstractListModel AWT, Swing, JavaFX & SWT 7
C Event Frage AWT, Swing, JavaFX & SWT 7
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
F Frage zu WindowListeners AWT, Swing, JavaFX & SWT 2
E einfache Frage:warum ist Hintergrund grau ? AWT, Swing, JavaFX & SWT 24
E einfache Frage zu paintComponent und Graphics AWT, Swing, JavaFX & SWT 7
C Frage zu ActionListenern AWT, Swing, JavaFX & SWT 7
D Frage @ someActionEvent.getActionCommand() AWT, Swing, JavaFX & SWT 2
Kr0e Allgemeine Frage zu Java2D (Eigene Impl.) AWT, Swing, JavaFX & SWT 18
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben