我一直在從YouTube視頻中學習Java Swing GUI,因爲直到下個學期在大學結束時我才瞭解它們,我覺得這太有趣了。然而,儘管視頻製作人員很容易跟蹤,並且我學到了很多東西,但我可以說他自己也許可以自己學習,因爲他的一些編碼習慣與我們在學校學到的習慣有些不同。 (例如,他不在乎封裝或駱駝案件。)這讓我擔心,我所學的一切都是無用的。如果不擴展JFrame,將會產生什麼?
他在他的視頻中所做的所有項目都在一個類中,使用實現ActionListener,MouseListener等的內部類。所以我不知道如何將我從這些視頻中學到的東西與無GUI的多個類我在學校工作的項目。
我給的是如何在項目是一般的例子:(我只加了私人,因爲這是我已經習慣了)
public class Something extends JFrame {
private JPanel topPanel;
private JPanel bottomPanel;
private JLabel label;
private JButton button;
public Something() {
Container pane = this.getContentPane(); //need help with this
topPanel = new JPanel();
topPanel.setLayout(new GridLayout(1,1));
label = new JLabel("x");
topPanel.add(label);
pane.add(topPanel);
bottomPanel = new JPanel();
bottomPanel.setLayout(new GridLayout(1,1));
button = new JButton("Button");
bottomPanel.add(button);
pane.add(bottomPanel);
Event e = new Event();
button.addActionListener(e);
}
public class Event implements ActionListener {
}
另外,我爲什麼延長讀取另一個線程在這裏JFrame是一個壞主意。如果我必須適應,我會創建一個JFrame框架,然後添加(框架)?然後確保我將下一層添加到框架中?我需要做什麼安排?
在學習GUI之前,或在學習GUI時,還要學習接口,設計模式和依賴注入的概念。 –
如果您在swing上尋找更多幫助,您應該查看Oracle的[教程](http://docs.oracle.com/javase/tutorial/uiswing/)。 – endorphins