Scheinbar hast Du Deine Button unter die Reiter (ins jeweilige Tab) hinzugefügt ....Warum rutscht mir das Group Layout unter meine Tabs und Buttons bzw wie verhindere ich das?
Moin,
Scheinbar hast Du Deine Button unter die Reiter (ins jeweilige Tab) hinzugefügt ....
Die sollten doch vermutlich im jeweiligen Frame, Pane oder was auch immer liegen, oder ?
Sprich da, wo auch die Textfelder mit Label liegen .....
Gruß
Klaus
package servicelayer;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class GUIWarensystem extends JFrame implements ActionListener {
private static JFrame frame;
private static GUIWarensystem guiwarensystem = new GUIWarensystem();
protected JButton weinfuegen;
protected JButton werzeugen;
protected JButton wloeschen;
protected JButton wupdaten;
protected JButton reinfuegen;
protected JButton ranzeigen;
protected JButton rloeschen;
protected JButton rsuchen;
protected JButton wsuchen;
private static ArrayList<JTextField> textBoxes;
final static String WAREN = "Waren";
final static String RECHNUNG = "Rechnungen";
final static String SUCHE = "Suche";
final static int extraWindowWidth = 100;
/*
* Konstruktor
*/
public GUIWarensystem() {
this.frame = new JFrame("Warensystem");
}
//Buttons and my Tab structure
public void createMenue(Container pane) {
JTabbedPane tabbedPane = new JTabbedPane();
weinfuegen = new JButton("Waren einfuegen");
werzeugen = new JButton("Waren erzeugen");
wloeschen = new JButton("Waren loeschen");
wupdaten = new JButton("Waren updaten");
reinfuegen = new JButton("Rechnung einfuegen/erstellen");
rloeschen = new JButton("Rechnung loeschen");
ranzeigen = new JButton("Rechnung anzeigen");
rsuchen = new JButton("Waren-Suche");
wsuchen = new JButton("Rechnungs-Suche");
JPanel warencard1 = new JPanel() {
public Dimension getPreferredSize() {
Dimension size = super.getPreferredSize();
size.width += extraWindowWidth;
log.info("GUIWarensystem--PreferredSize()--ok");
return size;
}
};
warencard1.add(weinfuegen);
warencard1.add(werzeugen);
warencard1.add(wloeschen);
warencard1.add(wupdaten);
weinfuegen.setMnemonic(KeyEvent.VK_D);
weinfuegen.addActionListener(this);
weinfuegen.setActionCommand("wareeinfuegen");
JPanel rechnungcard2 = new JPanel();
rechnungcard2.add(ranzeigen);
rechnungcard2.add(rloeschen);
rechnungcard2.add(reinfuegen);
JPanel suchecard3 = new JPanel();
suchecard3.add(rsuchen);
suchecard3.add(wsuchen);
tabbedPane.addTab(WAREN, warencard1);
tabbedPane.addTab(RECHNUNG, rechnungcard2);
tabbedPane.addTab(SUCHE, suchecard3);
pane.add(tabbedPane, BorderLayout.CENTER);
}
//Action ;)
public void actionPerformed(ActionEvent e) {
if ("wareeinfuegen".equals(e.getActionCommand())) {
showWarenEinfuegen();
dialog.setTitle("Ware einfügen");
dialog.add(new JLabel("Just a test"));
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);*/
}
}
//here is my function
public static void showWarenEinfuegen() {
//frame.getContentPane().removeAll();
textBoxes = new ArrayList<JTextField>();
JLabel tLabel0 = new JLabel("Geben sie bitte die Daten für die neue Ware ein\n");
JButton tButton1 = new JButton("Einfügen");
tButton1.setAction(guiwarensystem.new SubmitAction("Einfügen", "Einfügen", new Integer(1)));
JLabel tLabel1 = new JLabel("Name: ");
JTextField tTextField1 = new JTextField(16);
textBoxes.add(tTextField1);
JLabel tLabel2 = new JLabel("Preis: ");
JTextField tTextField2 = new JTextField(16);
textBoxes.add(tTextField2);
JLabel tLabel3 = new JLabel("Altersfreigabe ab: ");
JTextField tTextField3 = new JTextField(16);
textBoxes.add(tTextField3);
JLabel tLabel4 = new JLabel("Kategorie: ");
JTextField tTextField4 = new JTextField(16);
textBoxes.add(tTextField4);
JLabel tLabel5 = new JLabel("Haltbarkeit: ");
JTextField tTextField5 = new JTextField(16);
textBoxes.add(tTextField5);
GroupLayout tLayout = new GroupLayout(frame.getContentPane());
frame.getContentPane().setLayout(tLayout);
tLayout.setAutoCreateGaps(true);
tLayout.setAutoCreateContainerGaps(true);
tLayout.setHorizontalGroup(tLayout.createSequentialGroup()
.addGroup(tLayout.createParallelGroup()
.addComponent(tLabel0)
.addComponent(tLabel1)
.addComponent(tLabel2)
.addComponent(tLabel3)
.addComponent(tLabel4)
.addComponent(tLabel5))
.addGroup(tLayout.createParallelGroup()
.addComponent(tTextField1)
.addComponent(tTextField2)
.addComponent(tTextField3)
.addComponent(tTextField4)
.addComponent(tTextField5)
.addComponent(tButton1))
);
tLayout.setVerticalGroup(tLayout.createSequentialGroup()
.addComponent(tLabel0)
.addGroup(tLayout.createParallelGroup()
.addComponent(tLabel1)
.addComponent(tTextField1))
.addGroup(tLayout.createParallelGroup()
.addComponent(tLabel2)
.addComponent(tTextField2))
.addGroup(tLayout.createParallelGroup()
.addComponent(tLabel3)
.addComponent(tTextField3))
.addGroup(tLayout.createParallelGroup()
.addComponent(tLabel4)
.addComponent(tTextField4))
.addGroup(tLayout.createParallelGroup()
.addComponent(tLabel5)
.addComponent(tTextField5))
.addComponent(tButton1));
frame.pack();
}
public static void showError(String message) {
String msg = message;
JOptionPane.showMessageDialog(frame,
msg, "Inane error",
JOptionPane.ERROR_MESSAGE);
}
private static void createAndShowGUI() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GUIWarensystem warengui = new GUIWarensystem();
warengui.createMenue(frame.getContentPane());
log.info("GUIWarensystem--createAndShow() #content pane set up --ok");
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
/* Look and Feel - Java*/
try {
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
log.info("GUIWarensystem--main() #Look&Feel --ok");
} catch (UnsupportedLookAndFeelException ex) {
System.err.println("ERROR:" + ex + "GUIWarensystem.LookAndFeel.main.UnsupportedL&F");
ex.printStackTrace();
} catch (IllegalAccessException ex) {
System.err.println("ERROR:" + ex + "GUIWarensystem.LookAndFeel.main.IllegalAccesExpception");
ex.printStackTrace();
} catch (InstantiationException ex) {
System.err.println("ERROR:" + ex + "GUIWarensystem.LookAndFeel.main.InstantiationException");
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
System.err.println("ERROR:" + ex + "GUIWarensystem.LookAndFeel.main.ClassNotFoundException");
ex.printStackTrace();
}
/* Turn off metal's use of bold fonts (siehe TRUE)*/
UIManager.put("swing.boldMetal", Boolean.FALSE);
//event dispatch thread - job schedulen:
//create und show GUIWarensystem
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
import java.awt.BorderLayout;
public class BspVfl extends JFrame
{
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
/**
* Launch the application.
*/
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
BspVfl frame = new BspVfl();
frame.setVisible(true);
} catch (Exception e)
{
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public BspVfl()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel_1 = new JPanel();
contentPane.add(panel_1, BorderLayout.CENTER);
JLabel label = new JLabel("New label");
textField = new JTextField();
textField.setColumns(10);
JLabel lblNewLabel = new JLabel("New label");
textField_1 = new JTextField();
textField_1.setColumns(10);
JLabel lblNewLabel_1 = new JLabel("New label");
textField_2 = new JTextField();
textField_2.setColumns(10);
JLabel lblNewLabel_2 = new JLabel("New label");
textField_3 = new JTextField();
textField_3.setColumns(10);
JButton btnNewButton_4 = new JButton("New button");
GroupLayout groupLayout = new GroupLayout(panel_1);
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addComponent(label)
.addComponent(textField))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(lblNewLabel)
.addComponent(textField_1))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(lblNewLabel_1)
.addComponent(textField_2))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(lblNewLabel_2)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(btnNewButton_4)
.addComponent(textField_3))
)
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(label)
.addComponent(textField, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(lblNewLabel)
.addComponent(textField_1, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(lblNewLabel_1)
.addComponent(textField_2, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(lblNewLabel_2)
.addComponent(textField_3, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_4)
)
);
groupLayout.setAutoCreateGaps(true);
groupLayout.setAutoCreateContainerGaps(true);
panel_1.setLayout(groupLayout);
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
contentPane.add(tabbedPane, BorderLayout.NORTH);
JPanel panel = new JPanel();
tabbedPane.addTab("New tab", null, panel, null);
JButton btnNewButton = new JButton("New button");
panel.add(btnNewButton);
JButton btnNewButton_1 = new JButton("New button");
panel.add(btnNewButton_1);
JButton btnNewButton_2 = new JButton("New button");
panel.add(btnNewButton_2);
JButton btnNewButton_3 = new JButton("New button");
panel.add(btnNewButton_3);
JPanel panel_2 = new JPanel();
tabbedPane.addTab("New tab", null, panel_2, null);
JPanel panel_3 = new JPanel();
tabbedPane.addTab("New tab", null, panel_3, null);
}
}