Methode setBounds(...)



  • jo

    hast dir aber viel mühe gegeben 🙂



  • Soll die Toolbar floating sein also beliebig verschiebbar oder irgendwie angedockt sein?



  • angedockt



  • Wieso machst du dann nicht
    [java]getContentPane().add(toolbar2, java.awt.BorderLayout.SOUTH);[/code] und zwar ohne setBounds ( hatte ich dir schon mal geraten 😉 )?

    [ Dieser Beitrag wurde am 20.03.2003 um 12:47 Uhr von CengizS editiert. ]



  • geht auch nicht

    code

    info_ToolBar=new JToolBar();
    info_ToolBar.setBorder(BorderFactory.createEtchedBorder());
    info_ToolBar.setBorderPainted(true);
    info_ToolBar = new ToolBarButton(info_ToolBar,getSelectedLanguage()).Info();
    info_ToolBar.setVisible(true);
    contentPane.add(info_ToolBar,java.awt.BorderLayout.SOUTH);



  • Hat dein Frame denn überhaupt ein BorderLayout gesetzt ... das ist nämlich Grundvoraussetzung ... siehe How to Use Tool Bars

    Hier hab' ich noch ein Beispiel dafür ...
    [java]/*
    * ToolbarDemo.java
    *
    * Created on 20. März 2003, 12:50
    /
    import java.net.
    ;
    import java.io.;
    import javax.swing.event.
    ;

    /**
    *
    * @author Cengiz Sahin
    */
    public class ToolbarDemo extends javax.swing.JFrame implements HyperlinkListener {

    /** Creates new form ToolbarDemo */
    public ToolbarDemo() {
    initComponents();
    // Hier kommt die zweite Toolbar ins Spiel ...
    javax.swing.JToolBar toolbar2 = new javax.swing.JToolBar();
    toolbar2.add(new javax.swing.JLabel("Zweite Toolbar unten"));
    toolbar2.add(new javax.swing.JButton("Click me!"));
    getContentPane().add(toolbar2, java.awt.BorderLayout.SOUTH);
    }

    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    */
    private void initComponents() {
    jToolBar1 = new javax.swing.JToolBar();
    jPanel1 = new javax.swing.JPanel();
    jLabel1 = new javax.swing.JLabel();
    jButton1 = new javax.swing.JButton();
    jTextField1 = new javax.swing.JTextField();
    jScrollPane1 = new javax.swing.JScrollPane();
    jEditorPane1 = new javax.swing.JEditorPane();

    addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowClosing(java.awt.event.WindowEvent evt) {
    exitForm(evt);
    }
    });

    jPanel1.setLayout(new java.awt.BorderLayout(5, 5));

    jLabel1.setText("Adresse:");
    jPanel1.add(jLabel1, java.awt.BorderLayout.WEST);

    jButton1.setText("Go");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    }
    });

    jPanel1.add(jButton1, java.awt.BorderLayout.EAST);

    jTextField1.setText("jTextField1");
    jPanel1.add(jTextField1, java.awt.BorderLayout.CENTER);

    jToolBar1.add(jPanel1);

    getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);

    jScrollPane1.setViewportView(jEditorPane1);

    getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

    pack();
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    java.net.URL theURL = null;
    try {
    theURL = new java.net.URL(jTextField1.getText());
    jEditorPane1 = new javax.swing.JEditorPane(theURL);
    jEditorPane1.setEditable(false);
    jScrollPane1.setViewportView(jEditorPane1);
    jEditorPane1.addHyperlinkListener(this);
    } catch (MalformedURLException murlex) {
    murlex.printStackTrace();
    } catch (IOException ioex) {
    ioex.printStackTrace();
    }

    }

    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
    System.exit(0);
    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
    new ToolbarDemo().show();
    }

    public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent event) {
    if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
    try {
    jEditorPane1.setPage(event.getURL());
    jTextField1.setText(event.getURL().toExternalForm());
    } catch(IOException ioe) {
    System.out.println("Can't follow link to " + event.getURL().toExternalForm() + ": " + ioe);
    }
    }
    }

    // Variables declaration - do not modify
    private javax.swing.JTextField jTextField1;
    private javax.swing.JToolBar jToolBar1;
    private javax.swing.JEditorPane jEditorPane1;
    private javax.swing.JButton jButton1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration

    }[/code]

    [ Dieser Beitrag wurde am 20.03.2003 um 12:56 Uhr von CengizS editiert. ]



  • ja auf null

    contentPane=this.getContentPane();
    contentPane.setLayout(null);



  • Mit Null-Layout kommste nicht weiter ...



  • was würdes du empfehlen ??



  • Ich würde der contentPane so wie in meinem Beispiel ein Borderlayout spendieren und die Toolbar in BorderLayout.SOUTH plazieren. Damit passt sich die Toolbar dann automatisch den gegebenen Fensterverhältnissen an.


Anmelden zum Antworten