現在Swingアプレットに取り組んでおり、Netbean(7.0)のデザイナで通常作成される他のコンポーネント(ボタンなど)など、他のクラス関数でカスタムAWT Canvasコンポーネント(非常に単純な拡張クラス)を参照する際に問題が発生します。 。
ここに追加したカスタムキャンバス要素は、これが適切な場所になると確信していました(特に、生成された他のすべてのコンポーネントが同じ領域に作成された後)
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
CustomCanvas myCan = new CustomCanvas();
myCan.setBounds(100, 100, 200, 200);
getContentPane().add(myCan);
...
ただし、生成されたコンポーネントとは異なり、名前でアクセスすることはできず、他の手段(this.myCan)でもアクセスできないようです。以前にインスタンス化されたmyCanコンポーネントを操作するために、Swingフォームの(生成された)ボタンを処理するサンプル関数を設定しました。
private void btnManipCanvasActionPerformed(java.awt.event.ActionEvent evt) {
//Essentially Was wanting to call something here such as myCan.getGraphics().setRect...
}
myCanにアクセスする方法を知っていますか?コンポーネントのカスタム初期化を別の領域に配置して、それらが公にアクセスできるようにする必要がありますか?