2 つのクラスがあり、1 つは CreateDefault と呼ばれ、プログラムの GUI 設定を作成します。もう 1 つのクラスは tabPanePopup で、CreateDefault に関連付けられた JTabbedPane のポップアップとそのコマンドを作成します。
public int getCount() { return this.count; }
上記のコードは、count を返します。カウント、作成された新しいドキュメントの数をカウントします。getCount() は CreateDefault クラスの一部です。
以下のコードは、tabPanePopup の一部です。newTab が実行するアクションは既に書き出されています。CreateDefault では元々 count = 1 で、GUI が完全に作成されると 1 増加し、合計 count = 2 になります。 CreateDefault クラスで count に対して println 関数を実行すると、2 が出力されますが、tabPanePopup では 1 が出力されます。これを行う理由はありますか?GUI の作成時に count++ 以外はまったく変更しません。GUI が作成されるまで getCount() 関数を呼び出すことはできません。
newTab.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent action) {
CreateDefault get = new CreateDefault();
int count = get.getCount();
String parsed = Integer.toString(count);
Font myFont = new Font("Calibri", Font.BOLD, 12);
JEditorPane editorPane = new JEditorPane();
JScrollPane scrollPane = new JScrollPane(editorPane,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
LineCounter counter = new LineCounter(editorPane);
UndoManager manager = new UndoManager();
Document document = editorPane.getDocument();
document.addUndoableEditListener(manager);
scrollPane.setRowHeaderView(counter);
counter.setBackground(Color.white);
tabPane.setFont(myFont);
tabPane.addTab("New Document " + parsed, scrollPane);
tabPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
get.setCount(count++);
}
});