[原创]DVD管理系统项目之四--初识图形用户界面
问题说明:
终于把程序的核心做完了,,那你一定要搞个AWT界面练练手,,虽然程序员不太用,(而且说实话,java的图形用户界面太坑了),,
不过我们还是了解下吧,,,第一次用,很蛋疼,但是还是挺好玩的,,,
先看看效果,,,呵呵:
讲下思路:
说实话,第一次看书上的代码也是一头雾水,什么乱其八遭的,慢慢的发现,其实就思想和HTML+CSS+JS+DOM的有点像;
玩过html的兄弟应该知道,用〈a〉标签和display:none,可以做出一个在一个div中显示不同内容的功能;
这里我们照葫芦画飘,也用相同思来实现。
JPanel 就相当于 div
JLabel 也就是 html<label>的升级版,可显示文本,
其他的,,什么- private JLabel title;
- private JLabel vesion;
- private JButton exit;
- private JButton chartsBang;
- private JButton backtoDVD;
- private JButton lendedDVD;
- private JButton deleDVD;
- private JButton checkDVD;
- private JButton addDVD;
- private JPanel menu;
- private JPanel add;
- private JPanel check;
- private JPanel dele;
- private JPanel lended;
- private JPanel backto;
- private JPanel chartsPaiHangBang;
- private JButton reMain;
复制代码 都是一样的道理。
ok,,开工,,,
先导包。。- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
复制代码 你看第一页的框架:基本上就懂了:- private void initGUI() {
- try {
- FlowLayout thisLayout = new FlowLayout();
- setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
- getContentPane().setLayout(thisLayout);
- this.setTitle("DVD\u7ba1\u7406\u7cfb\u7edf");
- this.setResizable(false);
- {
- title = new JLabel();
- getContentPane().add(title);
- title.setText("\u6b22\u8fce\u4f7f\u7528DVD\u7ba1\u7406\u7cfb\u7edf");
- title.setPreferredSize(new java.awt.Dimension(287, 75));
- title.setFont(new java.awt.Font("黑体", 1, 24));
- title.setHorizontalAlignment(SwingConstants.CENTER);
- title.setHorizontalTextPosition(SwingConstants.CENTER);
- }
- {
- menu = new JPanel();
- FlowLayout menuLayout = new FlowLayout();
- menu.setLayout(menuLayout);
- getContentPane().add(menu);
- menu.setPreferredSize(new java.awt.Dimension(545, 223));
- menu.setForeground(new java.awt.Color(255, 255, 255));
- {
- addDVD = new JButton();
- menu.add(addDVD);
- addDVD.setText("\u6dfb\u52a0DVD");
- addDVD.setPreferredSize(new java.awt.Dimension(275, 24));
- }
- {
- checkDVD = new JButton();
- menu.add(checkDVD);
- checkDVD.setText("\u67e5\u770bDVD");
- checkDVD.setPreferredSize(new java.awt.Dimension(275, 24));
- }
- {
- deleDVD = new JButton();
- menu.add(deleDVD);
- deleDVD.setText("\u5220\u9664DVD");
- deleDVD.setPreferredSize(new java.awt.Dimension(275, 24));
- }
- {
- lendedDVD = new JButton();
- menu.add(lendedDVD);
- lendedDVD.setText("\u501f \u51fa DVD");
- lendedDVD.setPreferredSize(new java.awt.Dimension(275, 24));
- }
- {
- backtoDVD = new JButton();
- menu.add(backtoDVD);
- backtoDVD.setText("\u5f52 \u8fd8 DVD");
- backtoDVD.setPreferredSize(new java.awt.Dimension(275, 24));
- }
- {
- chartsBang = new JButton();
- menu.add(chartsBang);
- chartsBang.setText("\u501f \u51fa \u6392 \u884c \u699c");
- chartsBang
- .setPreferredSize(new java.awt.Dimension(275, 24));
- }
- {
- exit = new JButton();
- menu.add(exit);
- exit.setText("\u9000 \u51fa \u7cfb \u7edf");
- exit.setPreferredSize(new java.awt.Dimension(275, 24));
- }
- }
- // 版本
- {
- vesion = new JLabel();
- getContentPane().add(vesion);
- vesion.setText("鸣谢:万琪 版本 1.0 ");
- vesion.setPreferredSize(new java.awt.Dimension(551, 71));
- vesion.setHorizontalTextPosition(SwingConstants.RIGHT);
- vesion.setHorizontalAlignment(SwingConstants.RIGHT);
- }
复制代码 。。
ok,来个弹窗提示下,- <blockquote><span class="Apple-tab-span" style="white-space:pre"> </span>// 弹窗
复制代码 ok,继续,,加入监听器,,这个和DOM很像- // 监听器
- private void myEvent() {
- // 返回很重要
- reMain.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- reMain.setVisible(false);
- add.setVisible(false);
- check.setVisible(false);
- dele.setVisible(false);
- lended.setVisible(false);
- backto.setVisible(false);
- chartsPaiHangBang.setVisible(false);
- title.setText("欢迎使用DVD管理系统");
- menu.setVisible(true);
- vesion.setVisible(true);
- }
- });
- addDVD.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- title.setText("向库中添加DVD");
- menu.setVisible(false);
- vesion.setVisible(false);
- add.setVisible(true);
- reMain.setVisible(true);
- }
- });
复制代码 ok,,大功告成,,,可以享受AWT的乐趣了,,哈哈哈
如果你有更好的解决代码,可以和我交流,十分感谢。。。。
另外,下一步要解决的问题:安全加密的dvd管理器,
|