0

何がいけなかったのだろうと思っていました。以前はこれを行ったことがありますが、何らかの理由で今回はこれを機能させることができません。

私は Netbeans でプロジェクトを設計しました。最も関連性の高い部分は initTiras メソッドで、何かを描画すると想定されていますが、そうではありません。NetBeans によって生成されたコードを含めました。

これはコードの最も単純化されたバージョンですが、それでも何も描画されません。

そこで、プロジェクトに新しいフレームを作成しました。次に、JPanel を (desing モードで) 入れます。JPanel は ElPanel と JFrame LaFrame と呼ばれます。

メインクラスは次のとおりです。

package ElPackage;
public class Resistores {
    public static void main(String[] args) {
        LaFrame UnaFrame = new LaFrame();
        UnaFrame.setVisible(true);
    }   
}

LaFrame クラスの内部:

package ElPackage;

import java.awt.Color;
import java.awt.Graphics;

public class LaFrame extends javax.swing.JFrame {
    public LaFrame () {
        initComponents();
        initTiras();
    }

    public void initTiras() {
        Graphics LasG = ElPanel.getGraphics();
        LasG.setColor(Color.WHITE);
        LasG.fillRect(10, 10, 30, 30);
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        ElPanel = new javax.swing.JPanel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setResizable(false);

        ElPanel.setBackground(new java.awt.Color(51, 0, 51));
        ElPanel.setForeground(new java.awt.Color(255, 255, 255));

        javax.swing.GroupLayout ElPanelLayout = new javax.swing.GroupLayout(ElPanel);
        ElPanel.setLayout(ElPanelLayout);
        ElPanelLayout.setHorizontalGroup(
            ElPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        ElPanelLayout.setVerticalGroup(
            ElPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(ElPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(ElPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        
    // Variables declaration - do not modify                     
    private javax.swing.JPanel ElPanel;
    // End of variables declaration                   
}
4

1 に答える 1

3

elPanel のメソッドをオーバーライドpaintComponent(Graphics g)し、そこにコードを追加します。を参照してください

Java の命名規則を使用します。変数は小文字から開始する必要があります。

于 2013-11-12T07:21:56.127 に答える