PDA

View Full Version : نحوه استفاده از SetEnabeld در دو JFrame



pouria_bayat
پنج شنبه 09 دی 1389, 23:12 عصر
سلام مجدد خدمت اساتيد.

در برنامه از دو JFrame با نامهاي MainFrame و LogFrame استفاده شده است وقتي كه در MainFrame فريم مربوط به LogFrame صدا زده ميشه ميخواهيم MainFrame در حالت غيرفعال يا setEnabled(false); قرار بگيره و LogFrame در حالت Visible روي MainFrame باشه و وقتي دكمه پايان روي LogFrame يا دكمه Cancel روي پنجره LogFrame فشار داده شد MainFrame‌به حالت فعال اول خودش برگرده و LogFrame بسته بشه من اينكارو انجام دادم اما MainFrame همچنان درحالت setEnabled(false) ميمونه دليلش چي ميتونه باشه؟

البته MainFrame‌و LogFrame در دو پكيج جدا هستند كه من اونهارو Import‌كردم و برنامه تونست هردو رو بشناسه و حتي از هردو JFrame‌نيز يك شي تعريف كردم و از طريق شي خواستم اينكارو بكنم ولي نشد.!!

javaphantom
جمعه 10 دی 1389, 09:55 صبح
public class MainFrame extends JFrame {

private JButton myButton;


public MainFrame() {
this.setLayout(new FlowLayout());
this.setBounds(new Rectangle(200,200));
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().add(this.getMyButton());
this.setVisible(true);
}


public JButton getMyButton() {
if (this.myButton == null) {
this.myButton = new JButton("click");
this.myButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new LogFrame();
}
});
}
return myButton;
}

public static void main(String[] s) {
new MainFrame();
}
}



public class LogFrame extends JDialog {

public LogFrame() {
this.setBounds(new Rectangle(200,200));
this.setModal(true);
this.setVisible(true);
}

}