Temat: static method
JDialog okno = new jDialog1(null);
Jak chcesz coś zamykać co jest puste, lub nie istnieje?
Weź książkę do Javy najlepiej Core Java z Helionu czy wypożycz i przeczytaj 1-2 rozdziały tam znajdziesz odpowiedzi na te pytania.
Masz tutaj coś podobnego, sam sobie odpowiedz czego Ci brakuje
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Main
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
DialogFrame frame = new DialogFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class DialogFrame extends JFrame
{
public DialogFrame()
{
setTitle("DialogTest");
setSize(wysokosc,szerokosc);
//Tworzenie menu Plik
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu = new JMenu("Plik");
menuBar.add(fileMenu);
//Tworzenie elementów o programie i zamknij
JMenuItem aboutItem = new JMenuItem("O programie");
aboutItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if (dialog == null) //uruchomiony 1 raz
dialog = new AboutDialog(DialogFrame.this);
dialog.setVisible(true);
}
});
fileMenu.add(aboutItem);
JMenuItem exitItem = new JMenuItem("Zamknij");
exitItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
fileMenu.add(exitItem);
}
private AboutDialog dialog;
public static final int wysokosc=400;
public static final int szerokosc= 300;
}
class AboutDialog extends JDialog
{
public AboutDialog(JFrame owner)
{
super(owner, "Tekst okna o programie",true);
//dodawanie etykiety HTML
add(new JLabel("<html><h1><i>Core Java</i></h1><hr> By Cay Horstmann and Gary Cornel</html>"),BorderLayout.CENTER);
//przycisk OK zamyka okna dialogowe
JButton ok = new JButton("OK");
ok.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
setVisible(false);
}
});
JPanel panel = new JPanel();
panel.add(ok);
add(panel,BorderLayout.SOUTH);
setSize(250,250);
}
}
Krzysztof Telka edytował(a) ten post dnia 31.12.10 o godzinie 17:00