2016-05-10 13 views
0

私は、ProfileInputクラスを使用して、ダイアログボックスからJTextField入力を格納しています。それから私はそれをセッターメソッドとゲッターメソッドに移します。そこから私はAppFrameクラスのセッターメソッドとゲッタメソッドを呼び出しています。JTextField入力を表示するJLabelを取得できません

私が抱えている問題は、入力がGUI上のJLabelとして表示されないようにすることです。何も表示されません。私はコードを実行するときに表示されるエラーはありません。私が間違っていたものについての考え。

私はJavaを使い慣れていないため、学習しようとしています。何かを改善するためのアイデアや助けも素晴らしいです。

ProfileInputクラス

package GUI; 

//Library imports 
import java.awt.Dialog; 
import java.awt.Frame; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.BorderFactory; 
import javax.swing.JButton; 
import javax.swing.JComboBox; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 


public class ProfileInput extends Dialog { 


    //array for the active drop down box 
    String[] activeLabels = {"Select One", "Not Active", "Slightly Active", "Active", "Very Active"}; 

    public String firstNameString; 


    //intilizing aspects used in the user profile dialog box 
    JPanel Panel = new JPanel(); 
    JButton saveButton = new JButton("Save"); 
    JLabel firstName = new JLabel("First Name: "); 
    JLabel lastName = new JLabel("Last Name: "); 
    JLabel age = new JLabel("Age: "); 
    JLabel weight = new JLabel("Weight: "); 
    JLabel height = new JLabel("Height: "); 
    JLabel weightGoal = new JLabel("Weight Goal: "); 
    JLabel activeLevel = new JLabel("Active Level: "); 
    JLabel completion = new JLabel("Completion By: "); 
    JTextField firstNameInput = new JTextField(); 
    JTextField lastNameInput = new JTextField(); 
    JTextField ageInput = new JTextField(); 
    JTextField weightInput = new JTextField(); 
    JTextField heightInputFeet = new JTextField(); 
    JTextField heightInputInches = new JTextField(); 
    JTextField weightGoalInput = new JTextField(); 
    JComboBox activeCombo = new JComboBox(activeLabels); 
    JTextField completionInput = new JTextField(); 


    //setup of the dialog panel 
    public ProfileInput(Frame parent) { 

     super(parent,true); 
     userProfileInput(); 
     setSize(315, 380); 
     setTitle("Profile Creator"); 
     setLocationRelativeTo(null); 

    } 

    public void userProfileInput() { 

     //sets up the main panel for the dialog box (only panel to add to) 
     Panel.setBorder(BorderFactory.createEmptyBorder(1,1,1,1)); 
     Panel.setLayout(null); 


     //sets the location of the aspects inside the panel 
     firstName.setBounds(35, 15, 150, 20); 
     lastName.setBounds(35, 50, 150, 20); 
     firstNameInput.setBounds(115, 15, 150, 20); 
     lastNameInput.setBounds(115, 50, 150, 20); 
     age.setBounds(35, 85, 120, 20); 
     ageInput.setBounds(115, 85, 150, 20); 
     weight.setBounds(35, 115, 150, 20); 
     weightInput.setBounds(115, 115, 150, 20); 
     height.setBounds(35, 150, 150, 20); 
     heightInputFeet.setBounds(115, 150, 72, 20); 
     heightInputInches.setBounds(193, 150, 72, 20); 
     weightGoal.setBounds(35, 185, 150, 20); 
     weightGoalInput.setBounds(115, 185, 150, 20); 
     activeLevel.setBounds(35, 220, 150, 20); 
     activeCombo.setBounds(115,220, 150, 20); 
     completion.setBounds(35, 255, 150, 20); 
     completionInput.setBounds(130, 255, 120, 20);  
     saveButton.setBounds(135, 310, 65, 20); 


     saveButton.addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent e) { 

       //converts the inputs to a string 
       firstNameString = firstNameInput.getText(); 


       System.out.println(firstNameString); 

      } 
     }); 



     //adds the items to the main panel on the dialog box 
     Panel.add(firstName, null); 
     Panel.add(lastName, null); 
     Panel.add(firstNameInput, null); 
     Panel.add(lastNameInput, null); 
     Panel.add(age, null); 
     Panel.add(ageInput, null); 
     Panel.add(weight, null); 
     Panel.add(weightInput, null); 
     Panel.add(height, null); 
     Panel.add(heightInputFeet, null); 
     Panel.add(heightInputInches, null); 
     Panel.add(weightGoal, null); 
     Panel.add(weightGoalInput, null); 
     Panel.add(activeLevel, null); 
     Panel.add(activeCombo, null); 
     Panel.add(completion, null); 
     Panel.add(completionInput, null); 
     Panel.add(saveButton, null); 


     //adds the panel to the dialog frame 
     add(Panel); 

    }//end of userProfileInput method 


    public String getFirstName() { 
     return this.firstNameString; 
    } 

    public void setFirstName(String firstNameString) { 
     this.firstNameString = firstNameString; 
    } 

} 

AppFrameクラス

public class AppFrame extends JFrame { 

     private static final long serialVersionUID = 1L; 

     ProfileInput profileInput = new ProfileInput(null); 
     String firstNameTest = profileInput.getFirstName(); 

     /** 
     * Starts the frame from AppFrame method below. 
     * 
     * @param args 
     */ 
     public static void main(String[] args) { 

      new AppFrame().setVisible(true); 

     }//end of main Method 


     /** 
     * 
     * 
     */ 
     private AppFrame() {   

      //Initialization of panels and bars used in the main app 
      JMenuBar menuBar = new JMenuBar(); 
      JPanel contentPane = new JPanel(new BorderLayout()); 
      JPanel rightPanel = new JPanel(); 
      JPanel profileInfo = new JPanel(); 

      //aspects used in the left toolbar panel 
      JToolBar toolBarPanel = new JToolBar(); 
      JButton bloodPressureTool = new JButton(); 
      JButton heartRateTool = new JButton(); 
      JButton weightTool = new JButton(); 
      JButton bmiTool = new JButton(); 
      JButton medicationTool = new JButton(); 
      JButton appointmentTool = new JButton(); 
      JButton noteTool = new JButton(); 
      JButton profileTool = new JButton(); 
      Border etched = BorderFactory.createEtchedBorder(); 
      Icon bloodPIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/BloodPressure.png"); 
      Icon heartRateIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/HeartRate.png"); 
      Icon weightIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/Weight.png"); 
      Icon bmiIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/BMI.png"); 
      Icon medicationIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/Medications.png"); 
      Icon appointmentIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/DoctorAppointment.png"); 
      Icon noteIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/Notes.png"); 
      Icon profileIcon = new ImageIcon("/Users/BrandonGrow/git/Health-Application/src/Icons/Profile.png"); 


      //aspects of the user profile panel 
      JLabel firstName = new JLabel("First Name: "); 
      JLabel lastName = new JLabel("Last Name: "); 
      JLabel height = new JLabel("Height: "); 
      JLabel weight = new JLabel("Weight: "); 
      JLabel age = new JLabel("Age: "); 
      JLabel weightGoal = new JLabel("Weight Goal: "); 
      JLabel activeLevel = new JLabel("Active Level: "); 
      JLabel completion = new JLabel("Completion Date: "); 


      //Menu Bar Headers 
      JMenu file = new JMenu("File"); 
      JMenu go = new JMenu("Go"); 
      JMenu help = new JMenu("Help"); 


      //file drop down 
      JMenuItem newEntry = new JMenuItem("Profile Creator"); 
      JMenuItem exportReport = new JMenuItem("Export Report"); 
      JMenuItem exportNotes = new JMenuItem("Export Notes"); 
      JMenuItem preferences = new JMenuItem("Preferences"); 
      JMenuItem exit = new JMenuItem("Exit"); 
      file.add(newEntry); 
      file.addSeparator(); 
      file.add(exportReport); 
      file.addSeparator(); 
      file.add(exportNotes); 
      file.addSeparator(); 
      file.add(preferences); 
      file.addSeparator(); 
      file.add(exit); 


      //action used when the user presses the enter profile input button 
      newEntry.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 

        profileInput.setVisible(true); 

       } 
      }); 


      //allows for the program to exit when exit is clicked 
      exit.addActionListener(new ActionListener(){ 
       public void actionPerformed(ActionEvent e) { 

         exitDialog(); 
       } 
      }); 


      //go drop down 
      JMenuItem bloodPressure = new JMenuItem("Blood Pressure"); 
      JMenuItem heartRate = new JMenuItem("Heart Rate"); 
      JMenuItem medication = new JMenuItem("Medication"); 
      JMenuItem weightDisplay = new JMenuItem("Weight"); 
      JMenuItem bmi = new JMenuItem("BMI"); 
      JMenuItem docAppoints = new JMenuItem("Doctor's Appointments"); 
      JMenuItem notes = new JMenuItem("Notes"); 
      JMenuItem resources = new JMenuItem("Profile"); 
      go.add(bloodPressure); 
      go.addSeparator(); 
      go.add(heartRate); 
      go.addSeparator(); 
      go.add(medication); 
      go.addSeparator(); 
      go.add(weight); 
      go.addSeparator(); 
      go.add(bmi); 
      go.addSeparator(); 
      go.add(docAppoints); 
      go.addSeparator(); 
      go.add(notes); 
      go.addSeparator(); 
      go.add(resources); 


      //help drop down 
      JMenuItem usersGuide = new JMenuItem("Users Guide"); 
      JMenuItem about = new JMenuItem("About Personal Health Application"); 
      help.add(usersGuide); 
      help.addSeparator(); 
      help.add(about); 


      //adds Items to Frame 
      menuBar.add(file); 
      menuBar.add(go); 
      menuBar.add(help); 
      setJMenuBar(menuBar); 


      //Panel that allows for all GUI to be ad added here 
      contentPane.setBorder(BorderFactory.createEmptyBorder(1,1,1,1)); 
      contentPane.setBackground(Color.WHITE); 
      contentPane.add(toolBarPanel, BorderLayout.WEST); 
      contentPane.add(rightPanel); 


      //stores the buttons for application (left) 
      toolBarPanel.setOrientation(JToolBar.VERTICAL); 
      toolBarPanel.setBackground(Color.white); 
      toolBarPanel.setFloatable(false);; 
      toolBarPanel.setBorder(etched); 


      //sets the large panel on the right side of the frame. 
      rightPanel.setBackground(Color.WHITE); 
      rightPanel.setBorder(etched); 
      rightPanel.setLayout(null); 
      rightPanel.add(profileInfo, null); 


      //adds the user profile info to the main screen 
      profileInfo.setBounds(0, 0, 1104, 100); 
      profileInfo.setBackground(Color.WHITE); 
      profileInfo.setLayout(null); 
      profileInfo.setBorder(etched); 

      firstName.setBounds(80, 10, 80, 20); 
      firstName.setFont(new java.awt.Font("Dialog", 1, 11)); 
      lastName.setBounds(80, 50, 80, 20); 
      lastName.setFont(new java.awt.Font("Dialog", 1, 11)); 
      weightDisplay.setBounds(310, 10, 80, 20); 
      weightDisplay.setFont(new java.awt.Font("Dialog", 1, 11)); 
      height.setBounds(330, 50, 80, 20); 
      height.setFont(new java.awt.Font("Dialog", 1, 11)); 
      age.setBounds(550, 10, 80, 20); 
      age.setFont(new java.awt.Font("Dialog", 1, 11)); 
      weightGoal.setBounds(550, 50, 80, 20); 
      weightGoal.setFont(new java.awt.Font("Dialog", 1, 11)); 
      activeLevel.setBounds(780, 10, 80, 20); 
      activeLevel.setFont(new java.awt.Font("Dialog", 1, 11)); 
      completion.setBounds(780, 50, 120, 20); 
      completion.setFont(new java.awt.Font("Dialog", 1, 11)); 

      //test to see if first name displays 
      JLabel firstNameInputTest = new JLabel(firstNameTest); 
      firstNameInputTest.setBounds(160, 10, 80, 20); 


      profileInfo.add(firstName); 
      profileInfo.add(lastName); 
      profileInfo.add(weightDisplay); 
      profileInfo.add(height); 
      profileInfo.add(age); 
      profileInfo.add(weightGoal); 
      profileInfo.add(completion); 
      profileInfo.add(activeLevel); 

//part of test to see of first name displays 
      profileInfo.add(firstNameInputTest); 


      //blood pressure button 
      bloodPressureTool.setMaximumSize(new Dimension(90, 80)); 
      bloodPressureTool.setMinimumSize(new Dimension(30, 30)); 
      bloodPressureTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      bloodPressureTool.setPreferredSize(new Dimension(90, 50)); 
      bloodPressureTool.setBorderPainted(false); 
      bloodPressureTool.setContentAreaFilled(false); 
      bloodPressureTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      bloodPressureTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      bloodPressureTool.setText("Blood Pressure"); 
      bloodPressureTool.setOpaque(false); 
      bloodPressureTool.setMargin(new Insets(0, 0, 0, 0)); 
      bloodPressureTool.setSelected(true); 
      bloodPressureTool.setIcon(bloodPIcon); 


      //heart rate button 
      heartRateTool.setMaximumSize(new Dimension(90, 80)); 
      heartRateTool.setMinimumSize(new Dimension(30, 30)); 
      heartRateTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      heartRateTool.setPreferredSize(new Dimension(90, 50)); 
      heartRateTool.setBorderPainted(false); 
      heartRateTool.setContentAreaFilled(false); 
      heartRateTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      heartRateTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      heartRateTool.setText("Heart Rate"); 
      heartRateTool.setOpaque(false); 
      heartRateTool.setMargin(new Insets(0, 0, 0, 0)); 
      heartRateTool.setSelected(true); 
      heartRateTool.setIcon(heartRateIcon); 


      //weight button 
      weightTool.setMaximumSize(new Dimension(90, 80)); 
      weightTool.setMinimumSize(new Dimension(30, 30)); 
      weightTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      weightTool.setPreferredSize(new Dimension(90, 50)); 
      weightTool.setBorderPainted(false); 
      weightTool.setContentAreaFilled(false); 
      weightTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      weightTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      weightTool.setText("Weight"); 
      weightTool.setOpaque(false); 
      weightTool.setMargin(new Insets(0, 0, 0, 0)); 
      weightTool.setSelected(true); 
      weightTool.setIcon(weightIcon); 


      //BMI button 
      bmiTool.setMaximumSize(new Dimension(90, 80)); 
      bmiTool.setMinimumSize(new Dimension(30, 30)); 
      bmiTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      bmiTool.setPreferredSize(new Dimension(90, 50)); 
      bmiTool.setBorderPainted(false); 
      bmiTool.setContentAreaFilled(false); 
      bmiTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      bmiTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      bmiTool.setText("BMI"); 
      bmiTool.setOpaque(false); 
      bmiTool.setMargin(new Insets(0, 0, 0, 0)); 
      bmiTool.setSelected(true); 
      bmiTool.setIcon(bmiIcon); 


      //medication button 
      medicationTool.setMaximumSize(new Dimension(90, 80)); 
      medicationTool.setMinimumSize(new Dimension(30, 30)); 
      medicationTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      medicationTool.setPreferredSize(new Dimension(90, 50)); 
      medicationTool.setBorderPainted(false); 
      medicationTool.setContentAreaFilled(false); 
      medicationTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      medicationTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      medicationTool.setText("Medication"); 
      medicationTool.setOpaque(false); 
      medicationTool.setMargin(new Insets(0, 0, 0, 0)); 
      medicationTool.setSelected(true); 
      medicationTool.setIcon(medicationIcon); 


      //appointment button 
      appointmentTool.setMaximumSize(new Dimension(90, 80)); 
      appointmentTool.setMinimumSize(new Dimension(30, 30)); 
      appointmentTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      appointmentTool.setPreferredSize(new Dimension(90, 50)); 
      appointmentTool.setBorderPainted(false); 
      appointmentTool.setContentAreaFilled(false); 
      appointmentTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      appointmentTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      appointmentTool.setText("Appointments"); 
      appointmentTool.setOpaque(false); 
      appointmentTool.setMargin(new Insets(0, 0, 0, 0)); 
      appointmentTool.setSelected(true); 
      appointmentTool.setIcon(appointmentIcon); 


      //note button 
      noteTool.setMaximumSize(new Dimension(90, 80)); 
      noteTool.setMinimumSize(new Dimension(30, 30)); 
      noteTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      noteTool.setPreferredSize(new Dimension(90, 50)); 
      noteTool.setBorderPainted(false); 
      noteTool.setContentAreaFilled(false); 
      noteTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      noteTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      noteTool.setText("Notes"); 
      noteTool.setOpaque(false); 
      noteTool.setMargin(new Insets(0, 0, 0, 0)); 
      noteTool.setSelected(true); 
      noteTool.setIcon(noteIcon); 


      //profile button 
      profileTool.setMaximumSize(new Dimension(90, 80)); 
      profileTool.setMinimumSize(new Dimension(30, 30)); 
      profileTool.setFont(new java.awt.Font("Dialog", 1, 10)); 
      profileTool.setPreferredSize(new Dimension(90, 50)); 
      profileTool.setBorderPainted(false); 
      profileTool.setContentAreaFilled(false); 
      profileTool.setVerticalTextPosition(SwingConstants.BOTTOM); 
      profileTool.setHorizontalTextPosition(SwingConstants.CENTER); 
      profileTool.setText("Profile"); 
      profileTool.setOpaque(false); 
      profileTool.setMargin(new Insets(0, 0, 0, 0)); 
      profileTool.setSelected(true); 
      profileTool.setIcon(profileIcon); 


      //adding buttons to toolBarPanel 
      toolBarPanel.add(bloodPressureTool); 
      toolBarPanel.add(heartRateTool); 
      toolBarPanel.add(weightTool); 
      toolBarPanel.add(bmiTool); 
      toolBarPanel.add(medicationTool); 
      toolBarPanel.add(appointmentTool); 
      toolBarPanel.add(noteTool); 
      toolBarPanel.add(profileTool); 


      //sets up the actual frame 
      setSize(1200,800); 
      setResizable(false); 
      setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 
      add(contentPane); 


      //allows for the program to shut down by using x and then using the dialog 
      addWindowListener(new WindowAdapter() { 
       public void windowClosing(WindowEvent e) { 
        exitDialog(); 
       } 
      }); 

     }//end of appFrame Method 
+0

をご 'JLabel'は' fistNameInputTest'が '' STRING'ので、表示されないfirstNameTest 'は空です。あなたは 'AppFrame'クラスで' getFirstName() 'を呼び出しますが、初期化中に' ProfileInput'クラスの 'firstNameString'値が' null'だけである可能性があります。これを修正するには、新しいプロファイルが作成された後、おそらく 'firstNameInputTest'のテキストを更新する必要があります。 – MasterBlaster

+0

編集を参照して回答してください。ご不明な点があればお尋ねください。 –

答えて

1

あなたは上記のコードでいくつかの問題を得たが、最も重要な、あなたは絶対に使用する必要があるときには、モードレスダイアログを使用していましたモーダルなもの。モーダルであるため、ダイアログが表示されたときに呼び出しコードのプログラムフローが停止しないので、ダイアログが開かれた後、閉じられた後、そしてユーザーの前にダイアログを呼び出した後にgetFirstName()何らかの情報を入力する機会がありました。一方、モーダルダイアログでは、呼び出しコード内のプログラムフローがフリーズし、プログラムフローはダイアログが表示されなくなるまで再開しません。

問題点と提案:

  • まず第一には、ダイアログウィンドウがモーダルダイアログであることを確認してください。
  • これまでにDialog、PanelなどのAWTコンポーネントクラスを使用せず、Swingクラス(JDialog、JPanelなど)を使用しないでください。
  • JDialogを適切なコンストラクタ適切なコンストラクタ(APIを参照)内のパラメータとしてModalityType.APPLICATION_MODALを渡すか、メソッドを使用して設定することができます。
  • どちらの方法でも、ダイアログが表示される前に設定されていることを確認してください。
  • これを行うと、ダイアログの状態をクエリするときに、ダイアログボックスから情報を抽出しようとする前に、少なくともダイアログとやり取りする機会がユーザーに与えられていることが保証されます。
  • ダイアログを照会し、結果を表示可能に設定してから割り当ててください。

編集、私はダイアログが可視化された後、この段階では明らかにnullであるfirstNameTest文字列は、魔法のように更新されるかのように、でも、目に見えるダイアログを設定する前String firstNameTest = profileInput.getFirstName();を呼び出していることを今見ますJavaには魔法はなく、フィールド自体は更新されません。再度、その時点でfirstNameTestフィールドを設定しないでください。ダイアログが表示されてから処理された後でなければなりません。


次はおよそnullレイアウトやsetBounds話をする必要があります。あなたは本当にこのルートに行きたくはありません、私を信頼してください。

public class AppFrame extends JFrame { 

    private static final long serialVersionUID = 1L;  
    // !! the JLabel needs to be a field so it can be set in the ActionListener 
    private JLabel firstNameInputTest = new JLabel(""); 
    private ProfileInput profileInput = null; //!! let this start out as null 
    // !! worthless code, get rid of 
    // String firstNameTest = profileInput.getFirstName(); 

    public static void main(String[] args) { 
     // .... etc 

そして、我々は、ダイアログを表示/作成のActionListener:たとえば



newEntry.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     //!! create JDialog in a lazy fashion 
     if (profileInput == null) { 
      // create dialog, passing in the JFrame 
      profileInput = new ProfileInput(AppFrame.this); 
     } 
     profileInput.setVisible(true); // display the *modal* dialog 

     // program flow is frozen here until JDialog is no longer visible 

     // query dialog for its contents 
     String firstNameTxt = profileInput.getFirstName(); 
     // and use in GUI 
     firstNameInputTest.setText(firstNameTxt); 
    } 
}); 

私たちは、メソッド内のJLabelを宣言する必要はありませんそうすることで、クラス全体で見えなくなるからです。だから... ...

最後に
private AppFrame() { // ??? private ??? 

    // ..... 


    // test to see if first name displays 
    // !! JLabel firstNameInputTest = new JLabel(firstNameTest); // No!!! 

、非常に単純な例JDialogの私が議論してるものを発揮します

@SuppressWarnings("serial") 
public class ProfileInput extends JDialog { 
    private JTextField firstNameField = new JTextField(10); 

    public ProfileInput(JFrame frame) { 
     // make it modal! 
     super(frame, "Profile Input", ModalityType.APPLICATION_MODAL); 

     JPanel panel = new JPanel(); 
     panel.add(new JLabel("Enter First Name:")); 
     panel.add(firstNameField); 
     panel.add(new JButton(new SubmitAction("Submit", KeyEvent.VK_S))); 

     add(panel); 
     pack(); 
     setLocationRelativeTo(frame); 
    } 

    public String getFirstName() { 
     return firstNameField.getText(); 
    } 

    private class SubmitAction extends AbstractAction { 
     public SubmitAction(String name, int mnemonic) { 
      super(name); 
      putValue(MNEMONIC_KEY, mnemonic); 
     } 

     @Override 
     public void actionPerformed(ActionEvent e) { 
      ProfileInput.this.dispose(); 
     } 
    } 
}  
+0

あなたは情報のために大変です。私は間違いなく皆さんの考えを貫くつもりです。私は本当にこれであなたの助けに感謝します。ベストプラクティスを学びたい私はそれが完了したら私は私のコードを再投稿します。もう一度それは助けのために! – user3320746

関連する問題