Announcement

Collapse
No announcement yet.

GroupLayout-Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    So, jetzt geht Netbeans
    Apache NetBeans 11.2
    Java 13, OpenJDK 64
    System: Linux version 5.3.0

    [Code)
    package splitpanedemo3;

    import java.awt.Dimension;
    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.Color;

    import javax.swing.GroupLayout;
    import javax.swing.GroupLayout.Alignment.*;
    import javax.swing.SwingConstants;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JSplitPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.TreeNode;
    /**
    *
    * @author peter
    */
    public class SplitPaneDemo3 extends JFrame implements ActionListener {

    private static final long serialVersionUID = 9075926132085014944L;

    JMenuBar menuBar;
    JMenu fileMenu;
    JMenuItem openItem, closeItem,schliessen;

    public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
    public void run() {
    new SplitPaneDemo3();
    }
    });
    }
    public SplitPaneDemo3() {
    super();
    MyMenuBar();
    jtree_and_jsplitpane();
    }
    private void MyMenuBar() {
    menuBar = new JMenuBar();
    fileMenu = new JMenu("Datei");
    fileMenu.setMnemonic(KeyEvent.VK_F);
    menuBar.add(fileMenu);
    schliessen = new JMenuItem("Schließen");
    fileMenu.add(schliessen);
    menuBar.add(fileMenu);
    // jframe.setJMenuBar(menuBar);
    schliessen.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent ev) {
    System.exit(0);
    }
    });
    }
    private void jtree_and_jsplitpane() {
    JFrame jframe = new JFrame();
    jframe.setJMenuBar(menuBar);
    jframe.setResizable(false);
    /* links */
    JTree jtree = new JTree(createTree());
    JPanel leftp = new JPanel();
    JScrollPane treeView = new JScrollPane(jtree);
    treeView.setPreferredSize(new Dimension(300, 800));
    leftp.add(treeView);
    /* rechts */

    // jframe.setLayout(null);
    JPanel rightp = new JPanel();
    JLabel jlabel0 = new JLabel();
    JPanel jpanel_rightY;
    jpanel_rightY = rights(jlabel0);
    rightp.add(jpanel_rightY);
    /* splitpane */
    JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT) ;
    splitPane.setLeftComponent(leftp);
    splitPane.setRightComponent(rightp);
    Dimension minimumSize= new Dimension(100, 50);
    // rightp.setMinimumSize(minimumSize);
    leftp.setMinimumSize(minimumSize);
    splitPane.setDividerLocation(310);
    splitPane.setPreferredSize(new Dimension(1000, 500));
    jframe.getContentPane().add(splitPane);
    /* UNTEN */
    jframe.setTitle("Studafis IIA");
    jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLO SE);
    jframe.setLocationRelativeTo(null);
    jframe.setSize(1920, 1080);
    jframe.getMaximumSize();
    jframe.setVisible(true);
    }
    private JPanel rights(JLabel jlabel0) {
    JPanel jpanel1 = new JPanel();
    String text = "GroupLayout2";
    // String text = "null";

    // if (text == "GroupLayout2") {
    if (text.equalsIgnoreCase("GroupLayout2")) {
    String[] spalte = {"Vorname", "Nachname", "Geburtstag", "Straße", "Hausnummer", "Postleitzahl", "Ort"};
    Object[][] reihen = {{"Peter", "F_", "**.**.****", "Straße", "Nummer", "Postleitzahl", "Xxxxx"}};
    JTable table = new JTable(reihen, spalte);
    table.setPreferredScrollableViewportSize(new Dimension(450, 63));
    table.setFillsViewportHeight(true);
    JScrollPane jscrollPane_table = new JScrollPane();
    jscrollPane_table.getViewport().add(table);
    jpanel1.add(jscrollPane_table);

    JLabel label = new JLabel("Label");
    JTextField textField = new JTextField("TextField");
    JCheckBox caseCheckBox = new JCheckBox("CheckBox case");
    JCheckBox wholeCheckBox = new JCheckBox("CheckBox whole");
    JCheckBox wrapCheckBox = new JCheckBox("CheckBox wrap");
    JCheckBox backCheckBox = new JCheckBox("CheckBox back");
    JButton findButton = new JButton("FindButton");
    JButton cancelButton = new JButton("Cancel Button");

    JButton button_add = new JButton("Hinzufügen");
    JButton button_update = new JButton("Aktualisieren");
    JButton button_abort = new JButton("beenden");

    GroupLayout layout = new GroupLayout(jpanel1);
    jpanel1.setLayout(layout);
    layout.setAutoCreateGaps(true);
    layout.setAutoCreateContainerGaps(true);

    layout.setHorizontalGroup(layout.createSequentialG roup()
    // .addComponent(jscrollPane_table)
    .addGroup(layout.createSequentialGroup()
    // .addGroup(layout.createParallelGroup(GroupLayout.A lignment.LEADING)
    .addComponent(button_add).addComponent(button_upda te).addComponent(button_abort))
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.LEADING)
    .addComponent(label))
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.LEADING)
    .addComponent(textField)
    .addGroup(layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.LEADING)
    .addComponent(caseCheckBox)
    .addComponent(wholeCheckBox))
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.LEADING)
    .addComponent(wrapCheckBox)
    .addComponent(backCheckBox))))
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.LEADING)
    .addComponent(findButton)
    .addComponent(cancelButton))
    );
    layout.linkSize(SwingConstants.HORIZONTAL, findButton, cancelButton);
    layout.setVerticalGroup(layout.createSequentialGro up()
    // .addComponent(jscrollPane_table)
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.BASELINE)
    .addComponent(button_add).addComponent(button_upda te).addComponent(button_abort))
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.BASELINE)
    .addComponent(label)
    .addComponent(textField)
    .addComponent(findButton))
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.BASELINE)
    .addComponent(caseCheckBox)
    .addComponent(wrapCheckBox))
    .addGroup(layout.createParallelGroup(GroupLayout.A lignment.BASELINE)
    .addComponent(wholeCheckBox)
    .addComponent(backCheckBox)))
    .addComponent(cancelButton))
    );

    }
    else if (text.equalsIgnoreCase(null)) {
    jpanel1.setLayout(null);
    JButton button_1 = new JButton("Button 1");
    button_1.setBounds(1,1,30, 40);
    jpanel1.add(button_1);
    }
    return jpanel1;
    }
    private static TreeNode createTree(){
    DefaultMutableTreeNode root = new DefaultMutableTreeNode( "Studafis 2" );

    DefaultMutableTreeNode Tabellen = new DefaultMutableTreeNode( "Tabellen" );
    DefaultMutableTreeNode green = new DefaultMutableTreeNode( "Grün" );
    DefaultMutableTreeNode blue = new DefaultMutableTreeNode( "Blau" );

    root.add( Tabellen );
    root.add( green );
    root.add( blue );

    Tabellen.add( new DefaultMutableTreeNode ( "frmFirmen"));
    Tabellen.add( new DefaultMutableTreeNode ( "frmPersonen"));

    for( float f = 0; f <= 1f; f += 0.05f )
    green.add( new DefaultMutableTreeNode( new Color( 0, f, 0 )));

    for( float f = 0; f <= 1f; f += 0.05f )
    blue.add( new DefaultMutableTreeNode( new Color( 0, 0, f )));

    return root;
    }
    public void actionPerformed(ActionEvent event) {
    // System.exit(0);
    System.out.println("Selected: " + event.getActionCommand());
    JFileChooser fc = new JFileChooser();
    fc.showOpenDialog(null);
    // if (event.getSource() == "oeffnen") {
    Object stringx = event.getSource();
    if (((String) stringx).equalsIgnoreCase("oeffnen")) {
    System.out.println(""
    + "öffnen");
    }
    // else if (event.getSource() == openItem) {
    /* else if (event.getSource().equalsIgnoreCase("openItem")) {
    System.exit(0);
    }
    // else if (event.getSource() == "Schliessen") {
    else if (event.getSource().equals("Schliessen")) {
    System.out.println("Schließen");
    System.exit(0);
    }*/
    }
    }
    [/Code]

    Aber ich habe noch nicht die lösung gefunden, daß
    Hinzufügen, Aktualisieren und beenden unter Label kommt und nicht Links unten.

    Kann jemand helfen? Ich mach mal ein Foto, wenn das klappt.


    Comment


    • #17
      Und warum benutzt du nun nicht den visuellen Designer?

      Beispiel
      http://www.marquardtnet.info/image1.jpg


      Ich weiß nicht was du hier machst.
      Der Code kann überhaupt nicht laufen.
      Das ffängt bei
      jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLO SE);
      und
      ddComponent(button_add).addComponent(button_upda te).addComponent(button_abort)
      an und endet hier

      http://www.marquardtnet.info/image2.jpg

      Was soll das?
      Zuletzt editiert von Christian Marquardt; 19.01.2020, 22:01.
      Christian

      Comment

      Working...
      X