¿Qué debo hacer para dibujar una línea dentro de un JPanel dentro de un JFrame en NetBeans?

publicado por: Anonymous

Hice un JPanel dentro de un JFrame en Netbeans y quiero dibujar una linea cualquiera allí adentro. ¿Qué código debo colocar y dónde?¿Tengo que customizar el código del JPanel que puse con click derecho y “Customize code”?¿Extiendo su clase? Porfavor detallenme. Hice una pregunta similar antes y cuando pregunté por más detalles no me respondieron.

public class VentanaGrafica extends javax.swing.JFrame {
public VentanaGrafica() {
    initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jPanel = new javax.swing.JPanel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)), "Grafico"));

    javax.swing.GroupLayout jPanelLayout = new javax.swing.GroupLayout(jPanel);
    jPanel.setLayout(jPanelLayout);
    jPanelLayout.setHorizontalGroup(
        jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 485, Short.MAX_VALUE)
    );
    jPanelLayout.setVerticalGroup(
        jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 286, Short.MAX_VALUE)
    );

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addGap(0, 57, Short.MAX_VALUE)
            .addComponent(jPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addComponent(jPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(0, 47, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>                        


// Variables declaration - do not modify                     
private transient javax.swing.JPanel jPanel;
// End of variables declaration                   

}

solución

Ya que se tiene la linea jpanel = new javax.swing.JPanel(); puedes rápidamente modificarla con lo siguiente:

jpanel = new javax.swing.JPanel() {
  @Override
  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.drawLine(10,10,120,135);
    //drawLine(x1,y1,x2,y2)
    //donde x1 e y1 son los puntos de inicio de dibujado.
    //x2 e y2 son la coordenada donde finaliza la linea.
  }
};
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *