1
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.*;
public class FileCutter
{
public static void main(String[] args)
{
CutterWindow cw = new CutterWindow();
cw.setResizable(false);
cw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cw.setVisible(true);
}
}
class CutterWindow extends JFrame
{
private JTabbedPane tabbedPane = new JTabbedPane();
public static final int DEFAULT_WIDTH = 470;
public static final int DEFAULT_HEIGHT = 480;
public CutterWindow()
{
this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
tabbedPane.add("File Cut",new FileCutPanel());
this.add(tabbedPane);
}
}
class FileCutPanel extends JPanel
{
private JLabel lblFileName = new JLabel("File Name:");
private JTextField txtFileName = new JTextField();
private JLabel lblFileSize = new JLabel("File Size:");
private JTextField txtFileSize = new JTextField();
private JButton btnViewFiles = new JButton("...");
private JPanel panelSelectOperatingFile = new JPanel();
public FileCutPanel()
{
panelSelectOperatingFile.setLayout(new FlowLayout());
panelSelectOperatingFile.add(lblFileName);
txtFileName.setColumns(20);
txtFileName.setEditable(false);
panelSelectOperatingFile.add(txtFileName);
panelSelectOperatingFile.add(btnViewFiles);
panelSelectOperatingFile.add(lblFileSize);
panelSelectOperatingFile.add(txtFileSize);
txtFileSize.setColumns(20);
txtFileSize.setEditable(false);
this.add(panelSelectOperatingFile);
}
}
その結果、panelSelectOperatingFileパネルの5つのコンポーネントは同じ行にあり、ウィンドウの幅を超えています。私はJPanelのデフォルトのレイアウトがflowlayout
であることを知っています。前の行にスペースがない場合、コンポーネントが次の行に配置されることが予想されます。問題を理解しようとしましたが、できませんJPanelのコンポーネントは自動的に行を変更しません
これを避ける方法は? 'panelSelectOperatingFile'は最初のパネルなので、JPanelに他のパネルを配置します。 – cloud
提供されたリンクを見てください –
おかげさまで私はそれを慎重に見ていきます。まだ質問がある場合は、もう一度お尋ねしていただけますか? – cloud