JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 請問一下有關swing的架構觀念
walljack760722





發文: 108
積分: 0
於 2012-05-01 15:00 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我最近想做一個視窗程式
這個程式它有類似像頁籤的方式 共3頁

那我的程式架構
Main.class = > 主畫面
a.class = > 第一頁
b.class = > 第二頁
c.class = > 第三頁

1.JFrame 有提供哪的功能可以讓我的a.class 的頁面再加到 Main.class 的JTabbedPane
而a.class b.class c.class這三個類別是JPanel 所做的頁面

2.每一頁裡面有不同的swing物件 有不同的方法
例如:
有的畫圖 有的顯示數值 有的則是按鈕

我又分別寫了不同的類別做了以上這些事情
因為這些眾多的類別分別的是好幾種方法
那我要用繼承類別的方式
還是繼承多個介面的方式哪個才會比較合適
還是使用內部類別會更好?

3.我目前學習java還沒學到如何有效管理類別的方法
所以我所有類別的檔案都集中放在.com的package
這樣的方式有壞處嗎有好處嗎管理上容易嗎?

4.有人做過類似的swing軟體嗎?


walljack760722 edited on 2012-05-01 16:21
reply to postreply to post
作者 Re:請問一下有關swing的架構觀念 [Re:walljack760722]
hsushaoming





發文: 108
積分: 0
於 2012-05-02 10:03 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
若您對如何使用JTabbedPane比較不了解,請您可以參考
http://docs.oracle.com/javase/6/docs/api/javax/swing/JTabbedPane.html

或著是
http://www.java2s.com/Tutorial/Java/0240__Swing/0880__JTabbedPane.htm

我提供一個簡單的範例,是以前我模仿Tutorial中的Demo做的範例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
public class TabbedPaneDemo {
 
  public TabbedPaneDemo() {
    createAndShowUI();
  }
 
  private void createAndShowUI() {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setContentPane(new MyContentPanel());
    frame.pack();
    frame.setVisible(true);
  }
 
  public static void main(String[] a) {
    new TabbedPaneDemo();
  }
}
 
class MyContentPanel extends JPanel {
 
  public MyContentPanel() {
    JTabbedPane jtp = new JTabbedPane();
    jtp.addTab("Cities", new CitiesPanel());
    jtp.addTab("Colors", new ColorsPanel());
    jtp.addTab("Aniamls", new AniamlPanel());
    add(jtp);
  }
}
 
class CitiesPanel extends JPanel {
 
  public CitiesPanel() {
 
    JButton b1 = new JButton("Taipei");
    add(b1);
    JButton b2 = new JButton("New Taipei");
    add(b2);
    JButton b3 = new JButton("Kaohsiung");
    add(b3);
  }
}
 
class ColorsPanel extends JPanel {
 
  public ColorsPanel() {
 
    JCheckBox cb1 = new JCheckBox("Black");
    add(cb1);
    JCheckBox cb2 = new JCheckBox("Red");
    add(cb2);
    JCheckBox cb3 = new JCheckBox("White");
    add(cb3);
  }
}
 
class AniamlPanel extends JPanel {
 
  public AniamlPanel() {
 
    JComboBox jcb = new JComboBox();
    jcb.addItem("Dog");
    jcb.addItem("Cat");
    jcb.addItem("Bird");
    add(jcb);
  }
}


就物件導向設計而言,當然是設計成不同類別
這些類別繼承同一個父類別,只是override後的做法不同
或著是實作同一個介面,這樣可以做到IoC
這麼做,您可能不只要學習Swing的技巧
OOD的概念,甚至於一些Design Pattern您可能都要學習
當然對您長期的生涯規劃來說,先學習絕對不是壞事
但若您只是要先練習一下Swing的技巧
沒有太多時間來學習別的技能

而您的視窗程式就像您說的只有三頁或五頁,以後也不太會擴充
您可以就像我提供的Demo一樣
雖然是不同的類別,但是其實不是OOD
只是純粹練習Swing的技巧


reply to postreply to post
作者 Re:請問一下有關swing的架構觀念 [Re:hsushaoming]
walljack760722





發文: 108
積分: 0
於 2012-05-07 13:40 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
請問 OOD 是甚麼?
我剛學java不懂一些術語...的


reply to postreply to post
作者 Re:請問一下有關swing的架構觀念 [Re:walljack760722]
hsushaoming





發文: 108
積分: 0
於 2012-05-07 14:36 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Object Oriented Design - OOD

reply to postreply to post
作者 Re:請問一下有關swing的架構觀念 [Re:hsushaoming]
walljack760722





發文: 108
積分: 0
於 2012-05-07 15:59 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
了解 謝謝

reply to postreply to post
» JWorld@TW »  Java 新手區

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8