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.