3

おやおや、あなたに会いませんでした。Javaでラベル、パネル、およびボタンをフォーマットするより効率的な方法があるかどうか疑問に思っていました。これが私のコードです。ようこそ、日付、ボタンをすべて別の行に配置したいと思います。そうする唯一の論理的な方法は、空白のラベルを作成することですよね?

private void GeneralTab() {
  generalPanel = new JPanel(new FlowLayout());
  String currentTime = SimpleDateFormat.getInstance().format(
    Calendar.getInstance().getTime());
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel("WELCOME "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" ")); 
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel("                  "));
  generalPanel.add(new JLabel("Today's Date: " + currentTime));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
  generalPanel.add(new JLabel(" "));
   generalPanel.add(createExitButton());
 }
4

1 に答える 1

7

についてもう少し学ぶ必要があるようですLayoutManagers。コンポーネントをさまざまな方法でレイアウトするのに役立ちます。

Java チュートリアルを参照してください。さまざまなレイアウトの使用を開始するには、おそらくこれが最適な方法です。

チュートリアルへのリンクは次のとおりです。

http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html

あなたの場合、を使用したいようですBoxLayout。必要なコンポーネントを独自の 1 行に配置する必要がありますJPanelJPanel次に、それぞれをに追加しgeneralPanelます。generalPanelのレイアウトマネージャーを次のBoxLayoutように設定する必要があります。

generalPane.setLayout(new BoxLayout(generalPane, BoxLayout.Y_AXIS));
于 2010-08-14T02:33:31.993 に答える