当前位置:首页 > 代码 > 正文

mfc橡皮筋绘制折线图代码(mfc 折线图)

admin 发布:2022-12-19 23:25 166


今天给各位分享mfc橡皮筋绘制折线图代码的知识,其中也会对mfc 折线图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

请问mfc绘制橡皮筋椭圆这么做

可以参考一下mfc绘制橡皮筋矩形的代码,自己修改一下实现椭圆功能。

如何在netbeans6.8中用Java语言绘制类型于下图的折线图,要有详细代码

public class XYJFrame extends javax.swing.JFrame {

    /**

     * Creates new form XYJFrame

     */

    public XYJFrame() {

        initComponents();

        iniCoordinate();

    }

    /**

     * Netbeans 生成的代码,用于界面设计

     */

    @SuppressWarnings("unchecked")

    // editor-fold defaultstate="collapsed" desc="Generated Code"                          

    private void initComponents() {

        lblXCoordinate = new javax.swing.JLabel();

        lblYCoordinate = new javax.swing.JLabel();

        txtXCoordinate = new javax.swing.JTextField();

        txtYCoordinate = new javax.swing.JTextField();

        btnCalculateY = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        lblXCoordinate.setText("X 坐标");

        lblYCoordinate.setText("Y 坐标");

        btnCalculateY.setText("计算 Y 坐标");

        btnCalculateY.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                btnCalculateYActionPerformed(evt);

            }

        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

        getContentPane().setLayout(layout);

        layout.setHorizontalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addGap(37, 37, 37)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                    .addComponent(lblXCoordinate)

                    .addComponent(lblYCoordinate))

                .addGap(29, 29, 29)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

                    .addComponent(txtXCoordinate)

                    .addComponent(txtYCoordinate, javax.swing.GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE)

                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

                        .addComponent(btnCalculateY)

                        .addGap(30, 30, 30)))

                .addContainerGap(131, Short.MAX_VALUE))

        );

        layout.setVerticalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addGap(70, 70, 70)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(lblXCoordinate)

                    .addComponent(txtXCoordinate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addGap(24, 24, 24)

                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(lblYCoordinate)

                    .addComponent(txtYCoordinate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addGap(28, 28, 28)

                .addComponent(btnCalculateY)

                .addContainerGap(103, Short.MAX_VALUE))

        );

        pack();

    }// /editor-fold                       

    private void btnCalculateYActionPerformed(java.awt.event.ActionEvent evt) {                                              

        this.txtYCoordinate.setText(this.calculateY() + "");

    }                                            

    /**

     * @param args the command line arguments

     */

    public static void main(String args[]) {

        /* Set the Nimbus look and feel */

        //editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "

        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

         * For details see  

         */

        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(XYJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (InstantiationException ex) {

            java.util.logging.Logger.getLogger(XYJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (IllegalAccessException ex) {

            java.util.logging.Logger.getLogger(XYJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (javax.swing.UnsupportedLookAndFeelException ex) {

            java.util.logging.Logger.getLogger(XYJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        }

        ///editor-fold

        /* Create and display the form */

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new XYJFrame().setVisible(true);

            }

        });

    }

    private void iniCoordinate() {

        // 转折点 X 坐标

        dbXCoordinate = new double[] { 0, 0.1, 0.3, 0.5, 1 };

        // 转折点 Y 坐标

        dbYCoordinate = new double[] { 0, 0.4, 0.7, 0.85, 1 };        

    }

    

    // 计算 Y 坐标

    private double calculateY() {

        double xCoordinate = Double.parseDouble(this.txtXCoordinate.getText());

        int xPos = getXPositon(xCoordinate);

        return xPos == -1 ? -1 : (dbYCoordinate[xPos] * xCoordinate) / dbXCoordinate[xPos];

    }

    

    // 得到输入的 X 值位置,确定比率

    private int getXPositon(double xCoordinate) {

        for(int i=0; i  dbXCoordinate.length; i++) {

            if(xCoordinate = dbXCoordinate[i]) {

                return i;

            }

        }

        return -1;

    }

    

    private double[] dbXCoordinate = new double[5];

    private double[] dbYCoordinate = new double[5];

    private double[] rate = new double[5];

    // Variables declaration - do not modify                     

    private javax.swing.JButton btnCalculateY;

    private javax.swing.JLabel lblXCoordinate;

    private javax.swing.JLabel lblYCoordinate;

    private javax.swing.JTextField txtXCoordinate;

    private javax.swing.JTextField txtYCoordinate;

    // End of variables declaration                   

}

mfc 橡皮筋 窗口大小改变 画的直线就消失了,在ondraw里或是onpaint,这样的回答就不用回答了,要具体的

你好,人家说得并没有错,窗口放大或缩小客户区会被自动刷新,而刷新后onDraw或者onPaint函数自动被调用,如果把作图程序放在这些函数中,每次窗口放大或缩小后画图程序自动会被调用,因此图形在窗口放大或缩小后就不会消失;至于图形自动移动,个一段时间后,刷新窗口,并在新的位置画图即可。

关于mfc橡皮筋绘制折线图代码和mfc 折线图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/30067.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载