0
ファイルをブラウズする機能をプログラムに追加しようとしました。私はここからコードを使用したかった:1(ギルバートの答え)が、JTreeを特定の位置とサイズにすることが重要だった。残念なことに、私がこれをしたとき、JTreeはそれをクリックすると "応答"しません。JTreeをLayoutManagerなしで使用することはできません
ここでは、コードです:
public class Frame extends JFrame implements Runnable {
private DefaultMutableTreeNode root;
private DefaultTreeModel treeModel;
private JTree tree;
public File fileRoot;
public Frame(){
super("FileBrowser");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(480, 320);
setLocation(50,50);
getContentPane().setLayout(null);
fileRoot = new File("C:/");
root = new DefaultMutableTreeNode(new FileNode(fileRoot));
treeModel = new DefaultTreeModel(root);
tree = new JTree(treeModel);
tree.setBounds(10, 39, 155, 177);
getContentPane().add(tree);
tree.setShowsRootHandles(true);
}
@Override
public void run() {
CreateChildNodes ccn = new CreateChildNodes(fileRoot, root);
new Thread(ccn).start();
}
}
メインクラス:
public class main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Frame());
}
}
私は
getContentPane().setLayout(null);
コメントとJTreeには、フレーム全体を埋めてみましょうすると、それはそれは
ありがとうございます!私は一般的に、レイアウトマネージャを使用するほうがはるかに優れていることを知っていますが、私の場合は特定の画面にプログラムを表示したいのですが、レイアウトは重要な機能ではないので、 – Ch0mik18
その答えのものを拡張するには**注意を払う価値がある** Java GUIは、異なるロケールで異なるPLAFを使用する異なるOS、画面サイズ、画面解像度などで動作する必要があります。したがって、ピクセルの完全なレイアウトには役立ちません。代わりに、レイアウトマネージャや[それらの組み合わせ](http://stackoverflow.com/a/5630271/418556)と[空白](http://stackoverflow.com/a/17874718/)のレイアウトパディングとボーダーを使用してください。 418556)。 –
@ Ch0mik18この場合、正しい答えを受け入れるといいでしょう。 –