JButtonを使用して特定のタイプのプロジェクトを管理し、プロジェクトツリーを下に印刷するシンプルなスイングアプリケーションがあります。プロジェクトのオープン時にスクリーンショットを参照してくださいアプリの中で: App screenshoot with project openedJScrollPane + JTreeの初期化後の表示
事は何もプロジェクトが開かれていないとき、私はこのような何かを取得されています App screenshoot without project opened
をHMIは簡単で、次のようになります。
public class Desktop extends JFrame implements ActionListener {
public Desktop() {
JButton newProject, generate, quit, bAddToClassPath, openProject, saveProject;
JPanel mainPanel;
JScrollPane jscrollpane;
super("MainWindow");
setLookAndFeel();
setSize(330, 440);
ParamMainPanel();
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Desktop();
}
});
}
public static void ParamMainPanel() {
mainPanel = new JPanel(new FlowLayout());
// BUTTONS PARAM
newProject = new JButton("Nouveau projet");
generate = new JButton("Générer...");
quit = new JButton("Quitter");
openProject = new JButton ("Ouvrir projet");
saveProject = new JButton ("Sauvegarder");
bAddToClassPath = UIUtil.iconButton();
bAddToClassPath.setActionCommand("setCP");
bAddToClassPath.addActionListener(this);
mainPanel.add(bAddToClassPath);
newProject.addActionListener(this);
newProject.setActionCommand("newP");
generate.addActionListener(this);
generate.setActionCommand("gen");
quit.addActionListener(this);
quit.setActionCommand("qui");
openProject.addActionListener(this);
openProject.setActionCommand("openP");
saveProject.addActionListener(this);
saveProject.setActionCommand("save");
mainPanel.add(newProject);
mainPanel.add(generate);
mainPanel.add(openProject);
mainPanel.add(saveProject);
mainPanel.add(quit);
// PROJECT TREE
jscrollpane = new JScrollPane(new JTree());
jscrollpane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jscrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
jscrollpane.setMinimumSize(new Dimension(50, 50));
jscrollpane.setLocation(4,61);
jscrollpane.setSize(306,322);
mainPanel.add(jscrollpane);
}
}
だから私は、アプリケーションの起動時に、プロジェクトを開いていない状態でJTree(jscrollpaneに表示)を表示し、プロジェクトツリーを表示せずにプロジェクトを開いて(白いブロック)表示しています。 私はそれを行う方法、任意のアイデアを見つけることができませんか?
1) 'jscrollpane.setHorizontalScrollBarPolicy(30);'タスクの定数が定義されている場合は、「マジックナンバー」を使用しないでください。この定数はコンパイル時のチェックの恩恵を受けるでしょうし、しばしば人が読むことができます。 2)すぐに助けを得るために、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 –
アドバイスをいただき、ありがとうございました。私は「マジックナンバー」の編集を行っていました。なぜなら、それはディスプレイの問題なので、プロジェクト固有のタイプ全体を説明する必要はないと思っていました。 –
MCVE/SSCCEはどこですか? –