ロゴ

プログラミング初心者がアプリ開発を目指すブログ

Java Swingテキストフィールドの使い方 – Javaでデスクトップトップアプリ(予定&ToDo管理)を作る-014

Javaでデスクトップトップアプリ(予定&ToDo管理)を作るシリーズ第14回目です。

今回から、再びアプリの外観部分を作っていきます。
まずはTaskを追加する画面をつくるために、タスク名を入力するフィールドを作ります。
Java SwingのJTextFieldクラスを使用します。

Java Swingテキストフィールドの使い方

テキストフィールドをつくるには、
JTextField textField1 = new JTextField(5);
コンストラクタの引数はテキストフィールドの幅を示します。
この例では5文字分の文字が表示できるだけの幅のテキストフィールドを作成します。

後から、幅を変えるときは、
textField1.setColumns(int columns)
でオッケーです。

サイズを文字数でなく、ピクセルで設定したい場合にはsetPreferredSizeメソッドを使います。
このあたりは、フレームやパネルと同様です。

文字のフォントを変えたいときは、
textField1(new Font(“MS ゴシック”, Font.BOLD, 18));
文字数でテキストフィールドの幅を設定している場合、文字のサイズを変更するとテキストフィールドの幅が変更されます。

入力されたテキストを取得するには、
textField1.getText()
を使います。これについては次回以降使います。

タスク追加用フィールドの設置

それでは、実際にタスク追加用のフィールドを設置します。
タスク追加用のパネルを作るクラスを作っておきます。
[AddModePanel.java]


import java.awt.*;
import javax.swing.*;

public class AddModePanel{
  public JPanel panel;
  public AddModePanel(){
    JPanel panel =new JPanel();
    panel.setLayout(null);
    panel.setBackground(new Color(240,240,240));
    JLabel label1 = new JLabel("タスク名:");
    label1.setBounds(30,30,60,30);
    JLabel label2 = new JLabel("メモ:");
    label2.setBounds(30,70,60,30);
    JTextField textField1 = new JTextField(10);
    textField1.setBounds(100, 30, 200, 30);
    textField1.setFont(new Font("", Font.BOLD, 16));
    JTextField textField2 = new JTextField(25);
    textField2.setBounds(100, 70, 450, 30);
    textField2.setFont(new Font("", Font.BOLD, 16));
    panel.add(label1);
    panel.add(textField1);
    panel.add(label2);
    panel.add(textField2);
    this.panel=panel;
  }
  public JPanel getPanel(){
    return panel;
  }
}

これをMainFrameから呼び出します。mainPanelの部分を書き換えます。
[MainFrame.java]


import java.awt.*;
import javax.swing.*;

public class MainFrame extends JFrame{
	public MainFrame(String title){
	    setTitle(title);//Frameのタイトルの設定
	    setBounds(100, 100, 900, 600);//Frameの左上x座標,y座標,幅,高さの設定
	    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//☓ボタンが押された時に終了する
	    
	    Container contentPane = getContentPane();
	    JPanel headerPanel = new JPanel();
	    headerPanel.setBackground(new Color(67,135,233));
	    headerPanel.setPreferredSize(new Dimension(900,50));
	    
	    JPanel sidePanel = new JPanel();
	    sidePanel.setBackground(new Color(120,120,120));
	    sidePanel.setPreferredSize(new Dimension(190,600));
	    
	    AddModePanel addmodePanel = new AddModePanel();
	    
	    contentPane.add(headerPanel, BorderLayout.NORTH);
	    contentPane.add(sidePanel, BorderLayout.WEST);
	    contentPane.add(addmodePanel.getPanel());
	    
	    JLabel headerLabel = new JLabel("To Do");
	    sidePanel.add(buttonAddMode);
	    sidePanel.add(buttonTodayMode);
	    sidePanel.add(buttonScheduleMode);
	    sidePanel.add(buttonSomedayMode);
	    sidePanel.add(buttonDoneMode);
	  }
}

実行してみます。
JTextFieldを追加した

アプリ開発記の次の記事はこちら => 日付入力ボックスを作る Java Swing JSpinnerの使い方 – Javaでデスクトップトップアプリ(予定&ToDo管理)を作る-015

スポンサード リンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA