Javaプログラムの開発と学習コンポーネントおよびイベント処理

(参考書:Java2実践チュートリアル第5版)

1つはGUIプログラミング

コンテナクラス(コンテナ)とコンポーネントクラス(コンポーネント)。javax.swingパッケージのJComponentクラスは、java.awtパッケージのContainerクラスの直接サブクラスであり、java.awtパッケージのComponentクラスの間接サブクラスです。GUIプログラミングの基本的な知識ポイント:

  • Javaは、Componentクラスのサブクラスまたは間接サブクラスによって作成されたオブジェクトをコンポーネントとして呼び出します。
  • Javaは、Containerのサブクラスまたは間接サブクラスによって作成されたオブジェクトをコンテナと呼びます。
  • コンテナにコンポーネントを追加できます。Containerクラスはパブリックメソッドadd()を提供し、コンテナーはこのメソッドを呼び出してコンポーネントをコンテナーに追加できます。
  • コンテナーは、removeAll()メソッドを呼び出してコンテナー内のすべてのコンポーネントを削除し、remove(Component c)メソッドを呼び出してパラメーターcで指定されたコンポーネントを削除します。
  • コンテナ自体もコンポーネントであるため、コンテナを別のコンテナに追加して、コンテナのネストを実現できます。
  • 新しいコンポーネントがコンテナーに追加またはコンテナーから削除されるたびに、コンテナー内のコンポーネントを正しく表示できるように、コンテナーによってvalidate()メソッドを呼び出す必要があります。

第二に、ウィンドウ

GUIベースのアプリケーションは、オペレーティングシステムと直接対話できるコンテナを提供できます。コンテナは、オペレーティングシステムによって制御されるプラットフォーム(ディスプレイ)に直接表示および描画できます。このようなコンテナは、GUI設計ではボトムコンテナと呼ばれます。Javaが提供するJFrameクラスによって作成されるオブジェクトは、一般にウィンドウと呼ばれる低レベルのコンテナです。(JDialogクラスによって作成されたオブジェクトは、一般にダイアログボックスと呼ばれる低レベルのコンテナでもあります。)ウィンドウが必要な場合は、JFrameまたはそのサブクラスを使用してオブジェクトを作成できます。
(1)JFrameの一般的に使用されるメソッド:

	JFrame()创建一个无标题的窗口
	
	JFrame(String s)创建标题为s的窗口
	
	public void setBounds(int a,int b,int width,int height)设置窗口的初始位置为(a,b),即距屏幕左边a个像素,距屏幕上方b个像素,窗口的宽是width,高是height
	
	public void setSize(int width,int height)设置窗口的大小宽是width,高是height
	
	public void setLocation(int x,int y)设置窗口的位置,默认位置是(00public void setVisible(boolean b)设置窗口是否可见,窗口默认不可见
	
	public void setResizable(boolean b)设置窗口是否可调整大小,默认可调整大小
	
	public void dispose()撤销当前窗口,并释放当前窗口所使用的资源
	
	public void setExtendedState(int state)设置窗口的扩展状态,其中参数state取JFrame类中的·	下列类常量:
	MAXIMIZED_HORIZ 水平方向最大化
	MAXIMIZED_VERT 垂直方法最大化
	MAXIMIZED_BOTH 水平垂直方向都最大化
	
	public void setDefaultCloseOperation(int operation)设置单击窗体右上角关闭图标后,程序会做出怎样的处理。其中参数operation取JFrame类中int static常量:
	DO_NOTHING_ON_CLOSE 什么也不做
	HIDE_ON_CLOSE 隐藏当前窗口
	DISPOSE_ON_CLOSE 隐藏当前窗口,并释放窗体占有的其他资源
	EXIT_ON_CLOSE 结束窗口所在的应用程序

(2)メニューバー、メニュー、メニュー項目
これらの3つのコンポーネントは、ウィンドウで一般的に使用されます。メニューはメニューバーに配置され、メニュー項目はメニューに配置されます

  1. メニューバー:JComponentクラスのサブクラスであるJMenubarは、メニューバーの作成を担当します。つまり、JMenubarによって作成されたオブジェクトはメニューバーです。JFrameには、メニューにメニューバーを配置するメソッドがあります
    。setJMenuBar(JMenuBar bar)このメソッドは、メニューバーをウィンドウの上部に追加します。ウィンドウに追加できるメニューバーは1つだけです。
  2. メニュー:JComponentのサブクラスであるJMenuは、メニューの作成を担当します。つまり、JMenuによって作成されたオブジェクトはメニューです。
  3. メニュー項目:JComponentクラスのサブクラスであるJMenuItemは、メニュー項目の作成を担当します。つまり、JMenuItemによって作成されたオブジェクトはメニュー項目です。
  4. 埋め込みサブメニュー:JMenuはJMeunItemのサブクラスであるため、メニュー自体もメニュー項目です。メニューがメニュー項目としてメニューに追加される場合、追加されたメニューはサブメニューと呼ばれます。
  5. メニューのアイコン:メニュー項目にアイコンを付けるには、アイコンクラスIconを使用してアイコンを宣言し、そのサブクラスImageIconクラスを使用してアイコンを作成します。次に、メニュー項目はsetIcon(Icon
    icon)メソッドを呼び出して、アイコンをパラメーターアイコンとして設定します。

3つの一般的なコンポーネントとレイアウト

(1)共通コンポーネント:JComponentのすべてのサブクラス

JTextField 文本框,允许用户在文本框输入单行文本

JTextArea 文本区,允许用户在文本区输入多行文本

JButton 按钮,允许用户单击按钮

JLabel 标签,标签为用户提供提示信息

JCheckBox 复选框,为用户提供多项选择,并提供两种状态,一种是选中,一种是未选中,用户通过单击该组件切换状态

JRadioButton 单选按钮,为用户提供单项选择

JComboBox 下拉列表,为用户提供可单项选择的列表

JPasswordField 密码框,允许用户在框内输入单行密码,密码的默认回显字符是*。可以使用setEchoChar(char c)重新设置回显字符,调用char[] getPassword()方法返回用户在密码框中输入的密码。

(2)一般的なコンテナー:JComponentは、コンポーネントを追加するためによく使用されるいくつかのコンテナーを具体的に提供します。JFrameの下部コンテナーと比較して、これらのコンテナーはしばしば中間コンテナーと呼ばれます。機能するには、中間コンテナを下部コンテナに追加する必要があります。

JPanel 面板,创建有个面板后,再向其中添加组件,然后把这个面板添加到其他容器中。JPanel面板的默认布局是FlowLayout布局

JTabbedPane 选项卡窗口,当用户向其中添加一个组件时,选项卡窗口自动为该组件指定一个对应的选项卡,即让一个选项卡对应一个组件。各个选项卡对应 的组件层叠式放入该容器中,当用户单击选项卡时,容器会显示选项卡对应的组件。选项卡默认在该容器的顶部,从左向右依次排列。使用add(String text,Component c);方法将组件c添加到选项卡容器中去,并且对应文本提示是text。

JScrollPane 滚动窗格,只可以添加一个组件,可以把组件放到一个滚动窗格中,然后通过滚动条来观看该组件比如JTextArea不自带滚动条,因此把文本区放到滚动窗口中:JScrollPane scroll = new JScrollPane(JTextArea);

JSplitPane 拆分窗格,是被分成两部分的容器。具有水平拆分和垂直拆分。水平拆分窗口就是左右各一组件,中间用可以水平移动的拆分线隔。垂直拆分同理。
两个常用构造方法:
JSplitPane(int a,Component b,Component c);参数a取该类的静态常量HORIZONTAL_SPLIT或VERTICAL_SPLIT,决定是水平还是垂直
JSplitPane(int a,boolean b,Component c,Component d);参数a同上决定方向,参数b决定当拆分线移动时,组件是否连续变化(true是连续)

JLayeredPane 分层窗格,如果添加到容器的组件经常需要处理重叠问题,就可以考虑将组件添加到分层窗格中。分层窗格分为5层,使用add(Jcomponentcom,int layer)添加组件com,并指定com所在的层。layer的取值是该类中的类常量:DEFAULT_LAYER(最底层),PALETTE_LAYER, MODAL_LAYER,POPUP_LAYER,DRAG_LAYER(最上层)。
如果分层窗口添加了多个组件,当用户用鼠标移动一组件时,可以把该组件放到最上层。添加到同一层的组件,如果发生重叠,后添加的会遮挡先添加的组件。分层窗格调用public void setLayer(Component c,int layer)可以重新设置组件c所在的层,调用public int getLayer(Component c)可以获取c所在的层数。

(3)共通レイアウト:レイアウトは、コンテナ内のコンポーネントの位置を制御できます。レイアウトの設定方法:setLayout(布局对象);

FlowLayout 常用构造方法FlowLayout();可以创建一个居中对齐的布局对象使用add方法将组件顺序添加到容器中,组件按照先后顺序从左到右排列,一行排满后就转到下一行继续从左到右排列。组件的大小默认为最佳大小,如需调整需调用public void setPreferredSize(new Dimension(int x,int y))。调用setAlignment(int align)方法可以重新设置布局的对齐方式,其中参数align取值FlowLayout.LEFT、FlowLayout.CENTER、FlowLayout.RUGHT。

BorderLayout 使用这种布局的容器将空间简单分为东西南北中5个区域,每一个添加的组件应该指明添加到哪个区域中。区域由静态常量表示:CENTER、NORTH、SOUTH、WEST、EAST例:将组件b添加到使用该布局的容器con中:con.add(b,BorderLayout.CENTER);

CardLayout  使用该布局的容器可以容纳多个组件,这些组件被层叠放入容器中,最先加入的容器是第一张(最上面),依次向下排列。该布局的特点是:同一时刻容器只能从这些组件中选一个出来显示。假设有一个容器con,使用步骤如下:
(1)创建CardLayout对象作为布局:CardLayout card = new CardLayout();
(2)为容器设置布局:con.setLayout(card)
(3)容器调用add(String s,Component b)将组件b加入容器,给出代号s(不是组件的名字)
(4)用代号显示组件:card.show(con,s);也可按顺序显示

GridLayout  使用较多的布局编辑器,把容器划分为若干行乘若干行的网格区域。组件位于每一个小格中,调用方法add(Component c)将组件c加入容器

null 空布局可以准确定位组件在容器内的大小和位置。setBounds(int a,int b,int width,int height)方法是所有组件都拥有的一个方法。使用方法:
(1)设置容器p为空布局:p.setLayout(null)
(2)添加组件:p.add(Component c)
(3)设置大小和位置:c.setBounds(int a,int b,int width,int height)

BoxLayout 盒式容器,可以利用容器的嵌套,将某个容器嵌入几个盒式容器,达到布局目的。使用静态方法createHorizontaBox()获得一个行型盒式容器,createVerticalBox获得一个列型盒式容器。使用水平支撑和垂直支撑控制布局容器和组件之间的距离。createHorizontalStrut(int width)得到一个不可见的水平支撑,宽度为width;createVerticalStrut(int height)得到一个不可见的垂直支撑,高度为height。

4、イベントの処理

プログラムは、インターフェイスでのユーザーの操作に応答して、イベントの処理と呼ばれる特定のタスクを実行します。
(1)イベント処理モード
イベントソースイベントを生成できるオブジェクトは、テキストボックス、ボタン、ドロップダウンリストなどのイベントソースと呼ばれます。イベントソースはオブジェクトである必要があり、このオブジェクトはJavaが発生する可能性があると考えるオブジェクトである必要があります。
監視:発生したイベントを処理するために、イベントのソースを監視するためのオブジェクトが必要です。イベントソースは、対応するメソッドを呼び出すことにより、オブジェクトを独自のモニターとして登録します。ユーザーの対応する操作により、対応するイベントが発生し、対応する処理を行うようにモニターに通知します。
イベントを処理するためのインターフェース:モニターはオブジェクトです。イベントソースからのイベントを処理するために、モニターは自動的にメソッドを呼び出します。Javaは、次のように規定しています。モニターがイベントソースからのイベントを処理できるようにするには、モニターを作成したクラスが対応するインターフェイスを実装する必要があり、モニターはイベントの発生時にクラスによってオーバーライドされるインターフェイスメソッドを呼び出します。

(2)ActionEventイベント
ActionEventイベントソース:テキストボックス、ボタン、メニュー項目、パスワードボックス、およびラジオボタンはすべてActionEventイベントをトリガーできます。つまり、これらはすべてActionEventイベントのイベントソースになることができます。
モニターの登録:Javaは、ActionEventイベントをトリガーできるコンポーネントがメソッドaddAction Listener(ActionListener listen)(パラメーター・タイプはインターフェース)を使用して、ActionListenerインターフェースを実装するクラスのインスタンスをイベント・ソースのモニターとして登録することを規定しています。
ActionListenerインターフェース:イベントソースがActionEventイベントをトリガーした後、モニターはアクションPerformed(ActionEvent e)を呼び出してイベントを処理します。
ActionEventクラスのメソッド:2つの一般的なメソッドがあります。

1public Object getSource() 该方法被ActionEvent事件对象调用后可以获取ActionEvent事件的事件源对象的引用,即getSource()方法可以将事件源上转型为Object对象,并返回这个上转型对象的引用。
(2public String getActionCommand() ActionEvent对象调用该方法可以获取发生ActionEvent事件时,和该事件相关的一个命令。

(3)ItemEventイベント
ItemEventイベントソース:選択ボックス、ドロップダウンリストでItemEventイベントをトリガーできます。選択ボックスの選択状態の変更とドロップダウンリストの各項目の選択の確認により、イベントをトリガーできます。
モニターの登録:イベントをトリガーできるコンポーネントは、addItemListener(ItemListener listen)を使用して、ItemListenerインターフェースを実装するクラスのインスタンスをイベントソースのモニターとして登録します。
ItemLisenterインターフェース:イベントソースがイベントをトリガーした後、モニターはこのインターフェースで唯一のメソッドpublic void itemStateChanged(ItemEvent e)を呼び出してイベントを処理します。

(4)DocumentEventイベント
ドキュメントイベントソース:テキスト領域には、テキストによって維持されるドキュメントと呼ばれるドキュメントインターフェイスを実装するインスタンスが含まれます。ドキュメントはDocumentEventイベントをトリガーでき、テキスト領域はget Documentメソッドを呼び出して、維持されているドキュメントを返します。
モニターの登録:イベントをトリガーできるイベントソースは、addDocumentListener(DocumentLis tener listen)を使用して、DocumentListenerインターフェイスを実装するクラスのインスタンスをイベントソースのモニターとして登録します。
DocumentListenerインターフェース:このインターフェースには3つのメソッドがあります。

public void changedUpdate(DocumentEvent e) //变化更新
public void removeUpdate(DocumentEvent e) //删除更新
public void insertUpdate(DocumentEvent e) //输入更新	

イベントソースがファイルイベントをトリガーした後、モニターはインターフェイスの対応するメソッドを呼び出してイベントを処理します。

(5)MouseEventイベント
任意のコンポーネントがマウスイベントをトリガーできます。したがって、MouseEventクラスは自動的にイベントオブジェクトを作成します。イベントソースモニターの方法はaddMouseListener(MouseListener listener)です。
MouseListenerインターフェースを使用してマウスイベントを処理する:このインターフェースは、5つのトリガーイベントソース(プレス、リリース、クリック、入力、および終了)からのマウス操作を処理できます。
MouseEventクラスの重要なメソッド:

getX() 获取鼠标指针在事件源坐标系中的x坐标
getY() 获取鼠标指针在事件源坐标系中的y坐标
getModifiers() 获取鼠标的左键或右键。分别用InputEvent类中的常量BUTTON1_MASK和BUTTON3_MASK表示
getClickCount() 获取鼠标被单击的次数
getSource() 获取发生鼠标事件的事件源
MouseListener的重要方法:
mousePressed(MouseEvent e) 处理在组件上按下鼠标触发的鼠标事件
mouseReleased(MouseEvent e) 处理在组件上释放鼠标键触发的鼠标操作
mouseEntered(MouseEvent e) 处理鼠标进入组件触发的鼠标事件
mouseExited(MouseEvent e) 处理鼠标离开组件触发的鼠标事件
mouseClicked(MouseEvent e) 处理在组件上单击鼠标键触发的鼠标事件

MouseListenerの重要なメソッド:

mousePressed(MouseEvent e) 处理在组件上按下鼠标触发的鼠标事件
mouseReleased(MouseEvent e) 处理在组件上释放鼠标键触发的鼠标操作
mouseEntered(MouseEvent e) 处理鼠标进入组件触发的鼠标事件
mouseExited(MouseEvent e) 处理鼠标离开组件触发的鼠标事件
mouseClicked(MouseEvent e) 处理在组件上单击鼠标键触发的鼠标事件

MouseMotionListenerインターフェイスを使用してマウスイベントを処理する:このインターフェイスは、イベントソース上でマウスをドラッグおよび移動することによってトリガーされる操作を処理します。一般的に使用される方法は次のとおりです。

addMouseMotionListener(MouseMotionListener listener) 注册监视器 
mouseDragged(MouseEvent e) 处理拖动鼠标触发的事件
mouseMoved(MouseEvent e) 处理鼠标移动触发的事件

(6)フォーカスイベント
コンポーネントはフォーカスイベントをトリガーできます。このコンポーネントはaddFocusListener(FocusListener listener)、フォーカスイベントモニターとして登録するために使用できますコンポーネントがフォーカスモニターを取得した後、コンポーネントの入力フォーカスに変更があった場合、FocusEventイベントがトリガーされます。モニターを作成するクラスは、2つのメソッドを持つFocusListenerインターフェースを実装する必要があります。

public void focusGained(FocusEvent e) 组件从无输入焦点变为有输入焦点时,监视器调用该方法
public void focusLost(FocusEvent e) 组件从有输入焦点变为无输入焦点时,监视器调用该方法

ユーザーがコンポーネントをクリックしてフォーカスを取得しますが、他のコンポーネントもフォーカスを失いますコンポーネントはpublic boolean requestFocusInWindow()メソッドを呼び出して入力フォーカスを取得できます

(7)キーボードイベントキーボードの
キーを押す、離す、または押すと、キーボードイベントがトリガーされます。KeyListenerインターフェイスを使用して、キーボードイベントを処理します。addKeyListener(KeyListener e)を使用してモニターを登録できます。インターフェースには次の3つのメソッドがあります。

public void keyPressed(KeyEvent e) 处理按下键盘触发的键盘事件
public void keyTyped(KeyEvent e) 处理敲击(按下又释放)触发的事件
public void keyReleased(KeyEvent e) 处理释放键盘触发的键盘事件

KeyEventクラスのpublicint getKeyCode()[キーコード値を返す]またはpublic char getKeyChar()[キーの文字を返す]メソッドを使用して、どのキーが押され、タップされ、解放されたかを判別します。

(8)ウィンドウイベント
JFrameはWindowのサブクラスであり、fanshiWindowサブクラスによって作成されたすべてのオブジェクトはウィンドウイベントイベントを持つことができます。
WindowListenerインターフェース:ウィンドウが開かれたり、閉じられたり、アイコン化されたりすると...ウィンドウイベントがトリガーされます。つまり、WindowEventはウィンドウイベントオブジェクトを作成します。getWindow()メソッドを呼び出して、ウィンドウイベントが発生したウィンドウを取得します。ウィンドウは、addWindowlistenerメソッドを使用してモニターを取得します。モニターを作成するオブジェクトのクラスは、7つのメソッドを持つWindowListenerインターフェイスを実装する必要があります。

public void windowActivated(WindowEvent e) 窗口从激活到未激活状态调用该方法。
public void windowDeactivated(WindowEvent e)窗口从激活状态到未激活状态调用该方法。
public void windowClosing(WindowEvent e) 当窗口正在关闭时,调用该方法。
public void windowClosed(WindowEvent e) 当窗口关闭后,调用该方法。
public void windowIconified(WindowEvent e) 当窗口图标化后,调用该方法。
public void windowDeiconified(WindowEvent e) 当窗口撤销图标化后,调用该方法。
public void windowOpened(WindowEvent e) 当窗口打开时,调用该方法。
在调用图标化时,会同时调用撤销激活方法;在撤销图标化时,会同时调用激活方法。关闭窗口时,监视器首先调用正在关闭方法再调用关闭后方法。

WindowAdapterアダプター:Javaがイベントを処理するための複数のメソッドを提供する場合、Javaはそれに応じてアダプタークラスを提供します。アダプターは対応するインターフェースを実装しているため、アダプタークラスのサブクラスによって作成されたオブジェクトをモニターとして直接使用し、サブクラスの必要なメソッドをオーバーライドできます。

(9)匿名クラスインスタンスまたはウィンドウがモニターとして使用される
匿名クラスインスタンスがモニターとして使用される:内部クラスのインスタンスがモニターとして使用される場合、イベントが発生すると、モニターはメンバーを操作しやすくなります。イベントソースが配置されている外部埋め込みクラスの。オブジェクトの参照をモニターに渡す必要はありません。
モニターとしてのウィンドウ:コンポーネントが配置されているウィンドウをモニターとして使用すると、モニターはウィンドウの他のメンバーを便利に操作できます。

5、ダイアログボックス

JDialogクラスとJFrameクラスはどちらもWindowのサブクラスであり、両方のインスタンスは基になるコンテナーです。ダイアログボックスには、モードレスとモーダルの2種類があります。モーダルダイアログボックスがアクティブになっている場合、ダイアログボックスが配置されているプログラムの他のウィンドウはアクティブにできません。モードがない場合、そのような制限はありません。(通常、重要な操作を実行する前に、操作の重要性を示すモーダルダイアログボックスがポップアップします)
(1)メッセージダイアログボックス
このダイアログボックスはモーダルダイアログボックスです。重要な操作を実行する前に、をポップアップすることをお勧めします。メッセージダイアログボックスフレーム。JOptionPaneクラスの静的メソッドを使用してメッセージダイアログを作成します。public static void showMessageDialog (Component parentComponent,String message,String title,int messageType)
最初のパラメーターはダイアログが表示されているときの位置を指定し、2番目のパラメーターはダイアログに表示される情報を指定し、3番目のパラメーターはタイトルを指定し、4番目のパラメーターはタイトルを指定します。クラス内のJOptionPaneクラス定数の値を取り、ダイアログボックスの外観を与えるために使用されます。INFORMATION_MESSAGE、WARNING_MESSAGE、ERROR_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE

(2)入力ダイアログボックス
このダイアログボックスは、ユーザーがテキストを入力し、ボタンを確認およびキャンセルするためのテキストボックスを含み、モーダルダイアログボックスです。文字列が必要です。JOptionPaneクラスの静的メソッドを使用して入力ダイアログを作成します:public static String showInputDialog(Component parentComponent,Object message,String title,int message)
最初のパラメーターは入力ダイアログが依存するコンポーネントを指定し、4番目のコンポーネントは外観を指定し、定数値は上記と同じです。

(3)確認ダイアログボックス
このダイアログボックスはモーダルダイアログボックスです。JOptionPaneクラスの静的メソッドは確認ダイアログボックスを作成します。public static int showConfirmDialog(Component parentComponent,Object message,String title,int optionType)
最初のパラメータはダイアログボックスが表示される位置を指定し、4番目のパラメータはクラス定数を外観を指定します。YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION
このメソッドは、次の整数値のいずれかを返します。JOptionPane.YES_OPTION、JOptionPane.NO_OPTION、JOptionPane.CANCEL_OPTION、JOptionPane.OK_OPTION、JOptionPane.CLOSED_OPTION

(4)カラーダイアログボックス
の静的メソッドJOptionPaneクラスはカラーダイアログボックスを作成しpublic static Color showDialog(Component component,String title,Color initialColor)
ます。3番目のパラメータは、カラーダイアログボックスによって返される初期色を指定します。

(5)カスタムダイアログボックス
。JDialogのサブクラスを作成してダイアログボックスクラスを作成します。このクラスのインスタンスはダイアログボックスです。ダイアログボックスはコンテナであり、デフォルトのレイアウトはBorderLayoutです。ダイアログボックスの2つの一般的な構築方法:

JDialog() 构造一个无标题的初始不可见的对话框
JDialog(JFrame owner) 构造一个无标题的初始不可见的无模式的对话框,owner是对话框所依赖的窗口。

6、ツリーコンポーネントとテーブルコンポーネント

(1)ツリーコンポーネント:JTreeクラスのオブジェクトはツリーコンポーネントと呼ばれます
DefaultMutableTreeNodeノード:ツリーコンポーネントを構築するには、事前にそのノードオブジェクトを作成する必要があります。MutableTreeNodeインターフェースを実装するクラスによって作成されたオブジェクトはすべて、ツリー上のノードになることができます。ツリーにはルートノードが1つだけあり、他のすべてのノードはここから始まります。他のノードは、子ノードのあるブランチノードと子ノードのないリーフノードに分けられます。各ノードには、独自のテキストラベルと画像アイコンがあります。デフォルトのMutableTreeNodeクラスは、ツリー上にノードを作成します。このクラスで一般的に使用される構築メソッドは次のとおりです。

DefaultMutableTreeNode(Object userObject)
DefaultMutableTreeNode(Object userObject,boolean allowChildren) 

ツリー上のTreeSelectionEventイベント:ツリーコンポーネントはTreeSelectionEventイベントをトリガーでき、ツリー使用addTreeSelectionListener(TreeSelectionListener listener)法はモニターを取得します。マウスがノードをクリックすると、モニターはインターフェースのメソッドを自動的に呼び出します

(2)テーブルコンポーネント:
JTableで一般的に使用される3つの構築方法:

JTable() 创建默认的表格模型
JTable(int a,int b) 创建a行,b列的默认模型表格
JTable(Object data[][],Object columnName[]) 创建默认表格模型,并且显示由data指定的二维数组的值,其列名由columnName指定

おすすめ

転載: blog.csdn.net/YCF8746/article/details/113611894