V
_VisioN_
Gast
Hallo,
ich habe die Aufgabe ein Programm zu schreiben, das einen Bereich zur Verfügung stellt, in dem Bilder (z.B. mathematische Graphen) als Hintergrund geladen werden können ... auf die dann gezeichnet werden kann (Linien) ...
Außerdem gibt es noch ein paar Textfelder, ...
Ich wollte es jetzt so machen:
Label
Textfeld
Label Label
Textfeld Textfeld
Label
Textarea
Fenster - ich dachte jetzt hier an ein JInternalFrame
Label Label
Textfeld(X) Textfeld(Y)
Label
Tabelle
Button Button
-----------------------------------------------------------------------------
In den Textfeldern wird die aktuelle X,Y - Position vom Mauscursor im Fenster angezeigt
Im Fenster soll gezeichnet werden, d.h. erster Mausklick Startpunkt einer Linie, zweiter Mausklick Endpunkt der Linie ... die Punkte werden dann in der Tabelle eingetragen
Problem ist nun, dass mein JInternalFrame nicht in der Größe erscheint, wie ich es haben will mit setBounds ...
Implementiert habe ich es so:
Sieht jemand das Problem?
Ich habe schon CoreJava und Java Swing durchgeblättert, aber keine Hilfe gefunden, wenn ich ein JInternalFrame in einen Panel einbauen will ...
Gruß,
Jens
ich habe die Aufgabe ein Programm zu schreiben, das einen Bereich zur Verfügung stellt, in dem Bilder (z.B. mathematische Graphen) als Hintergrund geladen werden können ... auf die dann gezeichnet werden kann (Linien) ...
Außerdem gibt es noch ein paar Textfelder, ...
Ich wollte es jetzt so machen:
Label
Textfeld
Label Label
Textfeld Textfeld
Label
Textarea
Fenster - ich dachte jetzt hier an ein JInternalFrame
Label Label
Textfeld(X) Textfeld(Y)
Label
Tabelle
Button Button
-----------------------------------------------------------------------------
In den Textfeldern wird die aktuelle X,Y - Position vom Mauscursor im Fenster angezeigt
Im Fenster soll gezeichnet werden, d.h. erster Mausklick Startpunkt einer Linie, zweiter Mausklick Endpunkt der Linie ... die Punkte werden dann in der Tabelle eingetragen
Problem ist nun, dass mein JInternalFrame nicht in der Größe erscheint, wie ich es haben will mit setBounds ...
Implementiert habe ich es so:
Code:
// ContentPane
JPanel framePanel;
framePanel = new JPanel(new GridBagLayout());
JPanel contentPanelNorth;
contentPanelNorth = new JPanel(new GridBagLayout());
contentPanelNorth.add(new JLabel("extendMapleTA - client.administrator"),
new GBC(0, 0, 3, 1).setAnchor(GBC.CENTER).setInsets(20, 0, 40, 0));
contentPanelNorth.add(new JLabel("Id"), new GBC(0, 1, 1, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 10, 0));
id = new JTextField(5);
id.setHorizontalAlignment(JTextField.CENTER);
id.setText(Integer.toString(controller.getTaskId()));
id.setEditable(false);
contentPanelNorth.add(id, new GBC(0, 2, 1, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 20, 0));
contentPanelNorth.add(new JLabel("Theme"), new GBC(0, 3, 3, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 10, 0));
theme = new JTextField(80);
contentPanelNorth.add(theme, new GBC(0, 4, 3, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 20, 0));
contentPanelNorth.add(new JLabel("Description"),
new GBC(0, 5, 3, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 10, 0));
description = new JTextArea(10, 80);
contentPanelNorth.add(new JScrollPane(description),
new GBC(0, 6, 3, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 20, 0));
contentPanelNorth.add(new JLabel("Graph"), new GBC(0, 7, 3, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 10, 0));
framePanel.add(contentPanelNorth, new GBC(0, 0, 1, 1).setAnchor(GBC.CENTER));
//Graph here
JPanel contentPanelSouth;
contentPanelSouth = new JPanel(new GridBagLayout());
contentPanelSouth.setSize(80, 80);
JPanel labelPanel;
labelPanel = new JPanel(new GridBagLayout());
labelPanel.add(new JLabel("X"), new GBC(0, 0, 1, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 10, 0));
labelPanel.add(new JLabel("Y"), new GBC(1, 0, 1, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 10, 0));
x = new JTextField(5);
x.setEditable(false);
labelPanel.add(x, new GBC(0, 1, 1, 1).setAnchor(GBC.CENTER));
y = new JTextField(5);
y.setEditable(false);
labelPanel.add(y, new GBC(1, 1, 1, 1).setAnchor(GBC.CENTER));
contentPanelSouth.add(labelPanel, new GBC(0, 0, 3, 1).setAnchor(GBC.WEST).setInsets(20, 0, 20, 0));
contentPanelSouth.add(new JLabel("Answer"),
new GBC(0, 1, 3, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 10, 0));
//Table here
answerTableData = new String[][]{{"0", "0"}};
answerTable = new JTable(answerTableData, COLHEADS);
contentPanelSouth.add(answerTable, new GBC(0, 2, 3, 1).setAnchor(GBC.CENTER).setInsets(0, 0, 20, 0));
JPanel buttonPanel;
buttonPanel = new JPanel();
resetTask = new JButton("Reset Task");
buttonPanel.add(resetTask);
sendTask = new JButton("Send Task");
buttonPanel.add(sendTask);
contentPanelSouth.add(buttonPanel, new GBC(0, 3, 3, 1).setAnchor(GBC.EAST).setInsets(0, 0, 20, 0));
status = new JTextField(80);
contentPanelSouth.add(status, new GBC(0, 4, 3, 1).setAnchor(GBC.CENTER));
framePanel.add(contentPanelSouth, new GBC(0, 2, 1, 1).setAnchor(GBC.CENTER));
JInternalFrame internalFrame;
internalFrame = new JInternalFrame("Test");
internalFrame.setBounds(0, 0, 400, 100);
framePanel.add(internalFrame, new GBC(0, 1, 1, 1).setAnchor(GBC.CENTER));
internalFrame.setVisible(true);
getContentPane().add(new JScrollPane(framePanel));
Sieht jemand das Problem?
Ich habe schon CoreJava und Java Swing durchgeblättert, aber keine Hilfe gefunden, wenn ich ein JInternalFrame in einen Panel einbauen will ...
Gruß,
Jens