2010-11-19 14 views
0

私はスイングのボタンクリックのアクションリスナーを行う方法を知っていますが、私はこのクラスをいくつか持っていますが、ボタンは、それが.drawLine on event(ボタンクリック)Jpanel/Jbutton/JTabbedPane

class CustomPanel extends JPanel { 

    private int destx = 100; 
    private int desty = 100; 
    private int startx = 0; 
    private int starty = 0; 

    public void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     g.drawLine(startx, starty, destx, desty); 
    } 

} 

どのように私はアクションリスナーからこのpaintcomponent(またはラインを描く同様のもの)を呼び出します(線を描画)...以下PaintComponentにメソッドを実行します似クリックされましたか?ここで

は私のActionListenerです:(そのGUI.javaに上記のコードはCustomPanel.javaにある間)たくさん、

答えて

0

あなたの質問は最後の投稿には意味がありませんでしたが、この投稿ではまだ私には意味がありません。

まだあなたがしたいことを実証しようとしているSSCCEをまだ投稿していません。

「ログインパネル」がある場合は、通常、モーダルなJDialogを作成します。

フレーム内のすべてのコンポーネントの上端に対角線を描画する場合は、ガラスペインまたはレイヤーペインを使用する必要があります。

例と詳細については、How to Use Root PanesのSwingチュートリアルのセクションを参照してください。

0

あなたは、GUIに追加する必要があり

public void actionPerformed(ActionEvent e) 
    { 
     if (e.getSource() == loginButton) 
     { 
      //Does other stuff but removed for simplifying 
      CustomPanel cp = new CustomPanel(); 
     } 
    } 

感謝。このような何か:

SwingUtilities.invokeLater(new Runnable() { 
    public void run() { 
     parentPanel.add(new CustomPanel()); 
     parentPanel.revalidate(); 
     parentPanel.repaint(); 
    } 
}); 

しかし、あなたは唯一の別のことだ現在のコンテナ上に線を描きたい場合は...