0

そのため、JDesktopPane を利用してさまざまな内部フレームを保持するプログラムを作成しようとしています。以下のコードでは、1 つの内部フレーム (ログイン フレーム) しかありません。内側のフレームを外側のフレームに渡して、そのように追加したいと思っていました。しかし、私はこれを行うのに問題があります....ファイル名はTheProgram.javaです見てください:

import javax.swing.*;
import java.awt.BorderLayout;

class OuterFrame
{
JDesktopPane outframe = new JDesktopPane();
    OuterFrame()
    {

    }
    OuterFrame(JInternalFrame inframe)
    {
        outframe.add(inframe);
    }

}

class Login extends JFrame
{
    JPanel panel;
    JLabel lblname;
    JLabel lblpassword;
    JTextField txtname;
    JPasswordField txtpassword;
    JButton btlogin; 
    JInternalFrame login = new JInternalFrame();

    Login()
    {
        login.setSize(300,200);
        login.setLocation(10,2);
        login.setTitle("Member Login");
        lblname=new JLabel("User Name:");
        lblpassword=new JLabel("Password:");
        btlogin=new JButton("Login");            
        txtname=new JTextField(20);
        txtpassword=new JPasswordField(20);
        panel=new JPanel();
        panel.add(lblname);
        panel.add(txtname);
        panel.add(lblpassword);
        panel.add(txtpassword);
        panel.add(btlogin);
        //panel.add(lblmess);
        login.add(panel);
        login.setVisible(true);
    }
    public void method()
    {
        OuterFrame.OuterFrame(login);
    }

}

public class TheProgram
{
    public static void main(String[] args)
    { 
        new OuterFrame();
    } 
}
4

1 に答える 1

1

あなたの主な方法はこれです

public static void main(String[] args)
    { 
        new OuterFrame();
    }

コンストラクタouterframeを持つ を構築する

OuterFrame()
    {

    }

... 何もしません

編集:コメントで示唆されているように、ログインは通常ダイアログになるため、これはおそらくこれを行うための最良の方法ではありません。私はあなたのために働くいくつかのコードを書きましたが、管理の観点からは最善の前進ではないかもしれません.

まず、OuterFrame のコンストラクターは、渡された内部フレームで何かを行う必要があります。このような

OuterFrame(JInternalFrame inframe)
{
    JFrame aFrame = new JFrame();
    outframe.add(inframe);
    outframe.setVisible(true);
    aFrame.setLayout(new BorderLayout());
    aFrame.setSize(400,400);
    aFrame.add(outframe);
    aFrame.setVisible(true);
}

次に、メイン メソッドで、このコンストラクタを使用してログイン フレームと外部フレームのインスタンスを作成する必要があります。

public static void main(String[] args)
{
    Login log = new Login();
    OuterFrame frame = new OuterFrame(log.login);
}
于 2013-06-25T06:29:11.897 に答える