Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I used <code>setBounds</code> on the toolbar to make it visible and also set the background to red just for testing it, replaced AWT buttons with Swing JButtons and I also set some text on the buttons. I commented out something on my testing code in order to compile and but put them back below:</p> <pre><code>class ToolBar extends JPanel { // instance initializer (constructor equivalent) public ToolBar() { super(); this.setLayout(myLayout); myLayout.setAlignment(FlowLayout.TRAILING); JButton[] panelButton = new JButton[5]; this.setBackground(Color.red); this.setBounds(0, 0, 200, 200); //Rectangle rec = new Rectangle(330,45,BUTTON, BUTTON); //setBounds(rec); setPreferredSize(new Dimension(330, 45)); for (int i = 0; i &lt; 5; i++) { Rectangle r = new Rectangle(22, 22); panelButton[i] = new JButton(); panelButton[i].setText(" "); panelButton[i].setIcon(new ImageIcon(view.drawSymbol(i))); panelButton[i].setOpaque(true); panelButton[i].setBorder(BorderFactory.createLineBorder(Color.black)); panelButton[i].setBounds(r); this.add(panelButton[i]); this.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); this.setVisible(true); } } }; </code></pre> <p>I am also posting the whole testing code below:</p> <pre><code>import java.awt.Color; import java.awt.ComponentOrientation; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JPanel; /* * To change this template, choose Tools | Templates and open the template in * the editor. */ /** * * @author hahahaha */ public class NewJFrame extends javax.swing.JFrame { /** * Creates new form NewJFrame */ public NewJFrame() { initComponents(); this.add(new ToolBar()); } /** * 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. */ @SuppressWarnings("unchecked") // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt; private void initComponents() { setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 400, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 300, Short.MAX_VALUE) ); pack(); }// &lt;/editor-fold&gt; /** * @param args the command line arguments */ public static void main(String args[]) { /* * Set the Nimbus look and feel */ //&lt;editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "&gt; /* * If Nimbus (introduced in Java SE 6) is not available, stay with the * default look and feel. For details see * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //&lt;/editor-fold&gt; /* * Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new NewJFrame().setVisible(true); } }); } // Variables declaration - do not modify // End of variables declaration class ToolBar extends JPanel { // instance initializer (constructor equivalent) public ToolBar() { super(); //this.setLayout(myLayout); //myLayout.setAlignment(FlowLayout.TRAILING); JButton[] panelButton = new JButton[5]; this.setBackground(Color.red); this.setBounds(0, 0, 200, 200); //Rectangle rec = new Rectangle(330,45,BUTTON, BUTTON); //setBounds(rec); setPreferredSize(new Dimension(330, 45)); for (int i = 0; i &lt; 5; i++) { Rectangle r = new Rectangle(22, 22); //center = new ImageIcon(view.drawSymbol(i)); panelButton[i] = new JButton(); panelButton[i].setText(" "); //panelButton[i].setIcon(center); panelButton[i].setOpaque(true); panelButton[i].setBorder(BorderFactory.createLineBorder(Color.black)); panelButton[i].setBounds(r); this.add(panelButton[i]); this.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); this.setVisible(true); } } }; } </code></pre> <p>Look for the line <code>this.add(new ToolBar());</code> where I instantiate and add your toolbar to my JFrame.</p> <p>A piece of advice: </p> <blockquote> <p>Avoid AWT components as much as possible</p> </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload