Maison >Java >javaDidacticiel >Puis-je écrire des programmes de fenêtre en Java ?
Java est un langage de programmation orienté objet qui peut écrire des logiciels d'application multiplateformes. L'avantage de l'utilisation de Java réside dans les applications réseau, mais Java fournit également de puissantes API pour développer des programmes de bureau, qui sont incluses dans le package javax.swing. Utilisez ce package pour écrire des applications de bureau Java simples (programmes de fenêtre).
Le package javax.swing de Java fournit de nombreuses classes de composants pour la conception d'interfaces graphiques. Lors de l'apprentissage de la programmation GUI, vous devez maîtriser deux concepts : les classes de conteneurs (Container) et la classe de composants (Component), les suivantes sont. points de connaissances de base souvent mentionnés dans la programmation GUI.Java appelle un objet créé par une sous-classe ou une sous-classe indirecte de la classe Component un composant.Java L'objet créé par une sous-classe ou une sous-classe indirecte de Le conteneur est appelé un conteneur. peut ajouter des composants au conteneur. La classe Container fournit une méthode publique add(), et un conteneur peut appeler cette méthode pour ajouter des composants au conteneur.Le conteneur appelle la méthode RemoveAll() pour supprimer tous les composants du conteneur, et appelle la méthode Remove(Component c) pour supprimer le composant spécifié par le paramètre total c du conteneur.
Le conteneur lui-même est également un composant, afin que vous puissiez ajouter un conteneur à un autre conteneur pour réaliser l'imbrication des conteneurs.
Chaque fois que le conteneur ajoute un nouveau composant ou supprime un composant, le conteneur doit appeler la méthode validate , pour garantir que les composants du Le conteneur peut être affiché correctement
Ensuite, écrivez un programme de bureau simple en Java.Une application Java doit utiliser une instance de la classe JFrame pour fournir un conteneur sous-jacent pour interagir avec le système d'exploitation lorsqu'une fenêtre est requise, utilisez JFrame ou sa sous-classe pour créer un objet. Une fenêtre est également un conteneur et des composants peuvent être ajoutés à la fenêtre. Il convient de noter que les fenêtres sont ajoutées par défaut à l'écran du moniteur par le système et qu'une fenêtre ne peut pas être ajoutée à un autre conteneur à la fois.
package gui; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.InputEvent; public class Text { public static void main(String[] args) { JFrame a=new JFrame("浏览器");//顶层容器 JMenuBar b=new JMenuBar();//菜单条 JMenu c=new JMenu("文件A");//菜单 c.setMnemonic('A'); //c.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK)); JMenu d=new JMenu("编辑B");//菜单 d.setMnemonic('B'); //d.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK)); JMenu e=new JMenu("查看C");//菜单 c.setMnemonic('C'); //e.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK)); JMenuItem f=new JMenuItem("保存");//菜单项 f.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_MASK)); JMenu g=new JMenu("打开");//子菜单 //g.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK)); JMenuItem h=new JMenuItem("打开x");//菜单项 h.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK)); JMenuItem i=new JMenuItem("打开y");//菜单项 i.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK)); JMenuItem j=new JMenuItem("复制");//菜单项 j.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK)); JMenuItem k=new JMenuItem("停止");//菜单项 k.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,InputEvent.CTRL_MASK)); JMenuItem l=new JMenuItem("刷新");//菜单项 l.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK)); g.add(h); g.add(i); c.add(g); c.add(f); d.add(j); e.add(k); e.add(l); b.add(c); b.add(d); b.add(e); a.setJMenuBar(b); //将菜单条加入窗口 a.setBounds(260,100,188,108); a.setVisible(true); a.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!