JavaでのCardLayoutクラスの重要性は何ですか?
CardLayoutの機能 コンポーネントを順番に配置し、1つのタイミングで1つのコンポーネントのみが表示されます e 各コンポーネントは1枚のカードとして扱われます。
CardLayout
- CardLayout 他のレイアウトマネージャーがコンテナ内のすべてのコンポーネントを一度に表示しようとする他のレイアウトとは異なり、 CardLayout 一度に1つのコンポーネントのみを表示します。
- CardLayout 、カードは通常、 JPanelなどのコンテナに入れられます 。コンポーネントは、追加された順序でカードキューに配置されます。
- CardLayoutの重要なメソッドは、 first()、last()、next()、previous()、show()です。 。
例
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CardLayoutTest extends JFrame implements ActionListener { CardLayout card; JButton b1,b2,b3; Container con; CardLayoutTest() { con = this.getContentPane(); card = new CardLayout(40,30); con.setLayout(card); b1 = new JButton("Java"); b2 = new JButton("Python"); b3 = new JButton("Scala"); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); con.add("a", b1); con.add("b", b2); con.add("c", b3); } public void actionPerformed(ActionEvent e) { card.next(con); } public static void main(String[] args) { CardLayoutTest clt = new CardLayoutTest(); clt.setTitle("CardLayout Test"); clt.setSize(350, 275); clt.setLocationRelativeTo(null); clt.setDefaultCloseOperation(EXIT_ON_CLOSE); clt.setVisible(true); } }
上記の例では、1つのコンポーネント( Java )のみでCardLayoutマネージャーを使用できます。 )がウィンドウに表示されます。ウィンドウをクリックすると、残りのコンポーネント(PythonとScala )表示できます。
出力
-
JavaでのSwingWorkerクラスの重要性は何ですか?
SwingWorker クラスを使用すると、非同期を実行できます タスク ワーカースレッド(長時間実行タスクなど)で、イベントディスパッチスレッド(EDT )からSwingコンポーネントを更新します。 ) タスクの結果に基づきます。 Java1.6バージョンで導入されました。 SwingWorkerクラス java.swing.SwingWorker クラスはタスクワーカーであり、時間のかかるタスクをバックグラウンドで実行します。 SwingWorker インスタンスは3つのスレッドと相互作用します。現在 スレッド 、ワーカースレッド 、およびイベントディスパッチスレッド(E
-
JavaでのSwingUtilitiesクラスの重要性は何ですか?
Javaでは、Swingコンポーネントが画面に表示された後、それらはイベント処理スレッドと呼ばれる1つのスレッドでのみ操作できます。 。別のブロックにコードを記述し、このブロックにイベントへの参照を与えることができます 処理 スレッド 。 SwingUtilities クラスには、 invokeAndWait()という2つの重要な静的メソッドがあります。 およびinvokeLater() コードのブロックへの参照をイベントに配置するために使用します キュー 。 構文 public static void invokeAndWait(Runnable doRun) throws Interr